20 papers · ranked by Valyu relevance
Chongyi Yuan, Lijie Wen, Xiongliang Yan
Program correctness used to be the main concern of computer software in the early days when formal semantics was a hot topic. But, the word "correct" was afterwards replaced by reliable, robust and trustworthy etc., a tradeoff situation then. This is not because correctness is no longer important, but because people…
In-Ho Yi
We present a novel approach to construction of a formal semantics for a programming language. Our approach, using a parametric denotational semantics, allows the semantics to be easily extended to support new language features, and abstracted to define program analyses. We apply this in analysing a duck-typed…
Shuvendu K. Lahiri, Chao Wang, Paul Krogmeier, Umang Mathur + 3 more
'Adithya Murali' 'P. Madhusudan' 'Mahesh Viswanathan'] We identify a decidable synthesis problem for a class of programs of unbounded size with conditionals and iteration that work over infinite data domains. The programs in our class use uninterpreted functions and relations, and abide by a restriction called…
Dan R. Ghica, Nikos Tzevelekos
Game semantics is a trace-like denotational semantics for programming languages where the notion of legal observable behaviour of a term is defined combinatorially, by means of rules of a game between the term (the Proponent) and its context (the Opponent). In general, the richer the computational features a language…
Günther Charwat, Wolfgang Dvořák, Sarah A. Gaggl, Johannes P. Wallner + 1 more
'Johannes P. Wallner' 'Stefan Woltran'] Within the last decade, abstract argumentation has emerged as a central field in Artificial Intelligence. Besides providing a core formalism for many advanced argumentation systems, abstract argumentation has also served to capture several non-monotonic logics and other AI…
Pavol Černý, Edmund M. Clarke, Thomas A. Henzinger, Arjun Radhakrishna + 3 more
We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program works even with a preemptive scheduler. The correctness specification is…
Shuvendu K. Lahiri, Chao Wang, Daniel Schemmel, Julian Büning + 3 more
'César Rodríguez' 'David Laprell' 'Klaus Wehrle'] We describe a technique for systematic testing of multi-threaded programs. We combine Quasi-Optimal Partial-Order Reduction, a state-of-the-art technique that tackles path explosion due to interleaving non-determinism, with symbolic execution to handle data…
Bertrand Meyer, Weber, Reto
- Zero axioms. No properties are assumed, all are proved (from standard set theory). - A single concept covers specifications and programs. - Its definition only involves one relation and one set. - Everything proceeds from three operations: choice, composition and restriction. - These techniques suffice to derive the…
Bertrand Meyer
- To describe a specification or a program, it suffices to define one relation and one set. - To describe the concepts of programming, concurrent as well as sequential, three elementary operations on sets and relations suffice: union, composition and restriction. - These techniques suffice to derive the axioms of…
Yun-Fei Liu, Marina Bedny
Programming is a cornerstone of modern society, yet its cognitive and neural basis remains poorly understood. In this study, we test the hypothesis that programming “recycles” pre-existing neural mechanisms and representations in fronto-parietal reasoning networks. Using fMRI, we scanned programming-naïve…
Authors not listed
Step-by-step thinking is essential in all domains of chemical sciences and engineering. While machine learning tools are broadly used, algorithms that automate reasoning are far less common. We elaborate on seven categories of human reasoning activities and connect each to applications in chemical science and…
Zoltan A. Kocsis, Jerry Swan
\usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\varvec{+}$$\end{document} + Proof Search \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym}…
Cristina David, Daniel Kroening
Program synthesis is the mechanized construction of software, dubbed ‘self-writing code’. Synthesis tools relieve the programmer from thinking about how the problem is to be solved; instead, the programmer only provides a description of what is to be achieved. Given a specification of what the program should do, the…
Andrej Brodnik, Andrew Csizmadia, Gerald Futschek, Lidija Kralj + 3 more
'Violetta Lonati' 'Peter Micheuz' 'Mattia Monga'] Abstract. Computer programs are part of our daily life, we use them, we provide them with data, they support our decisions, they help us remember, they control machines, etc. Programs are made by people, but in most cases we are not their authors, so we have to decide…
Matthew Shang, Eric Klavins, Gilbert Bernstein
Formalizing protocols used in wetlab biological research as programs improves reproducibility by making protocols replicable and standardized. However, existing protocol languages have limited capacity for codifying error sources and standardizing error handling. When protocols inevitably go wrong, debugging must still…
George Chao, Evan Appleton, Clair S. Gutierrez, Lilia Evgeniou + 4 more
Pluripotent cells specialize into numerous cell types by receiving external signals, making fate decisions, and executing differentiation functions – a paradigm similar to computer algorithms. While advances in biosensor design have enabled cells to respond to diverse stimuli, the ability to maintain a synthetic memory…
Authors not listed
Curried functions provide a systematic way of transforming multi-argument functions into nested singleargument functions. This transformation allows partial application and supports many central principles of functional programming. Their extension, called curried 𝑘-ary functions, naturally generalizes the familiar…
Richard Apodaca
Despite its widespread use, Simplified Molecular Input Line Entry System (SMILES) remains underspecified. The lack of a detailed specification encourages improvisation by software developers, complicates data standardization efforts, and undermines extension development. Balsa, a reformulation of SMILES, addresses…
Tristan Stérin, Abeer Eshra, Janet Adio, Constantine Glen Evans + 1 more
Like life, computers are out-of-equilibrium.^1,2^ Thermodynamically favoured error states are thwarted by energetically-costly processes such as kinetic proofreading of biological polymers, error-correcting codes in computer data storage, and redundancy in molecular programming. Decades of theoretical work shows that…
Pieter Floris Jacobs, Robert Pollice
Scientists across domains are often challenged to master domain-specific languages (DSLs) for their research, which are merely a means to an end but are pervasive in fields like computational chemistry. Automated code generation promises to overcome this barrier, allowing researchers to focus on their core expertise.…