18 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…
Jinwoo Kim, Shaan Nagy, Thomas Reps, Loris D’Antoni
Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar—i.e., an inductively defined set of programs. Current verification frameworks overapproximate programs' behavior when sets of programs contain loops, including two…
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…
Jiatong Wu, Sen Wang, Kai Niu, Yifei She + 2 more
Classical Algorithmic Information Theory (AIT) provides a rigorous foundation for information-based similarity measurement, but classical formulations and their compression-based approximations largely operate at the syntactic level, making them sensitive to surface-level variation and insufficient for semantic…
Jiangyi Liu, Charlie Murphy, Anvay Grover, Keith J. C. Johnson + 2 more
'Thomas Reps' 'Loris D’Antoni'] Program verification and synthesis frameworks that allow one to customize the language in which one is interested typically require the user to provide a formally defined semantics for the language. Because writing a formal semantics can be a daunting and error-prone task, this…
Zheng Cheng, Jiyang Wu, Di Wang, Qinxiang Cao
A desired but challenging property of compiler verification is compositionality in the sense that the compilation correctness of a program can be deduced from that of its substructures ranging from statements, functions, and modules incrementally. Previously proposed approaches have devoted extensive effort to…
Ying Yin, Yuhai Zhao, Yiming Sun, Chen Chen + 1 more
At present, the explosive growth of software code volume and quantity makes the code review process very labor-intensive and time-consuming. An automated code review model can assist in improving the efficiency of the process. Tufano et al., designed two automated tasks to help improve the efficiency of code review…
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…
Alasdair Armstrong, Brian Campbell, Ben Simner, Christopher Pulte + 1 more
Architecture specifications such as Armv8-A and RISC-V are the ultimate foundation for software verification and the correctness criteria for hardware verification. They should define the allowed sequential and relaxed-memory concurrency behaviour of programs, but hitherto there has been no integration of full-scale…
Alessandro Abate, Haniel Barbosa, Clark Barrett, Cristina David + 5 more
'Pascal Kesseli' 'Daniel Kroening' 'Elizabeth Polgreen' 'Andrew Reynolds' 'Cesare Tinelli'] Program synthesis is the mechanised construction of software. One of the main difficulties is the efficient exploration of the very large solution space, and tools often require a user-provided syntactic restriction of the…
Sepideh Asadi, Martin Blicha, Antti E. J. Hyvärinen, Grigory Fedyukovich + 1 more
'Grigory Fedyukovich' 'Natasha Sharygina'] This article provides an innovative approach for verification by model checking of programs that undergo continuous changes. To tackle the problem of repeating the entire model checking for each new version of the program, our approach verifies programs incrementally. It…
Joshua S. Rule, Steven T. Piantadosi, Andrew Cropper, Kevin Ellis + 2 more
Throughout their lives, humans seem to learn a variety of rules for things like applying category labels, following procedures, and explaining causal relationships. These rules are often algorithmically rich but are nonetheless acquired with minimal data and computation. Symbolic models based on program learning…
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…
Qianwen Chang, Elizabeth Jefferies, Rebecca L. Jackson
The relationship between semantics and syntax is highly contested. Neuroimaging evidence has offered conflicting views on whether these domains are neurally separable, in part because prior work has not distinguished two key components of semantic cognition: semantic representation and semantic control. In this study…
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…