18 papers · ranked by Valyu relevance
Daniel de Carvalho, Manuel Mazzara, Bogdan Mingela, Larisa Safina + 2 more
'Alexander Tchitchigin' 'Nikolay Troshkov'] Abstract. Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many languages use both static and…
Hao Yu, Weiteng Chen, Ziqiao Zhou, Weidong Cui
Static analysis, the process of examining code without executing it, is crucial for identifying software issues. Yet, static analysis is hampered by its complexity and the need for customization for different targets. Traditional static analysis tools require extensive human effort and are often limited to specific…
Juan Pablo Galeotti, Carlo A. Furia, Eva May, Gordon Fraser + 1 more
'Andreas Zeller'] Abstract—Verifiers that can prove programs correct against their full functional specification require, for programs with loops, additional annotations in the form of loop invariants—properties that hold for every iteration of a loop. We show that significant loop invariant candidates can be generated…
Gábor Horváth, Réka Kovács, Richárd Szalay, Zoltán Porkoláb + 2 more
Static analysis is the analysis of a program without executing it that is carried out by an automated tool. It is a widely used approach for several problems. It is used for optimising code, large-scale refactoring, code metrics, code visualisation and several other purposes. Unfortunately, there are some strong…
Authors not listed
The development of programming languages involves complex theoretical and practical challenges, particularly when addressing modularity and reusability through language extensions. While language workbenches aim to enable modular development under the constraints of the language extension problem, one critical…
Eljose E Sajan, Yunpeng Zhang, Liang‐Chieh Cheng
—Static analyzers are tool-sets which are proving to be indispensable to modern programmers. These enable the programmers to detect possible errors and security defects present in the current code base within the implementation phase of the development cycle; rather than relying on a standalone testing phase. Static…
Fengmin Zhu, Andreas Zeller
Programmers regularly use strings to encode many types of data, such as Unix file paths, URLs, and email addresses, that are conceptually different. However, existing mainstream programming languages use a unified string type to represent them all. As a result, their type systems will keep quiet when a function…
Bentley James Oakes, Javier Troya, Jessie Galasso, Manuel Wimmer
The verification of model transformations is important for realizing robust model-driven engineering technologies and quality-assured automation. Many approaches for checking properties of model transformations have been proposed. Most of them have focused on the effective and efficient detection of property violations…
Noel O'Boyle, Andrew Dalke
Background There has been increasing interest in the use of deep neural networks for de novo design of molecules with desired properties. A common approach is to train a generative model on SMILES strings and then use this to generate SMILES strings for molecules with a desired property. Unfortunately, these SMILES…
Misbah Mehboob Awan, Muhammad Waseem Anwar, Wasi Haider Butt, Farooque Azam + 1 more
Embedded systems often require multiple representations for design, verification, and implementation, ranging from low-level programming languages to high-level formal models and domain-specific abstractions. Generally, synchronization among different representations or notations is achieved manually, a process that is…
Muhammad Shoaib Farooq, Sher Afzal Khan, Farooq Ahmad, Saeed Islam + 2 more
'Adnan Abid' 'Hussein Suleman'] Computer programming is the core of computer science curriculum. Several programming languages have been used to teach the first course in computer programming, and such languages are referred to as first programming language (FPL). The pool of programming languages has been evolving…
Stefan Blom, Marieke Huisman
This paper discusses static verification of programs that have been specified using separation logic with magic wands. Magic wands are used to specify incomplete resources in separation logic, i.e., if missing resources are provided, a magic wand allows one to exchange these for the completed resources. One of the…
Shuvendu K. Lahiri, Chao Wang, Daejun Park, Yi Zhang + 1 more
We report our experience in the formal verification of the deposit smart contract, whose correctness is critical for the security of Ethereum 2.0, a new Proof-of-Stake protocol for the Ethereum blockchain. The deposit contract implements an incremental Merkle tree algorithm whose correctness is highly nontrivial, and…
Frederic von Wegner, Gesine Hermann, Inken Tödt, Inga Karin Todtenhaupt + 1 more
Higher-order syntax properties of EEG microstate sequences offer insight into the transition dynamics of functional brain networks. We here define higher-order syntax as microstate sequence properties that are not explained by the first-order transition matrix, and we postulate three requirements that surrogate data…
Thomas Dighiero-Brecht, Naama Friedmann, Luigi Rizzi, Christophe Pallier + 1 more
Although the brain areas for language processing are well delimited, whether lexical-semantic and syntactic processes are spatially segregated remains debated. To clarify this issue, we conducted two experiments using 7-Tesla functional MRI in 20 participants performing: a functional localizer involving reading…
A. Sina Booeshaghi, Aaron Streets
Large language models excel at text extraction, but they sometimes hallucinate. A simple way to avoid hallucinations is to remove any extracted text that does not appear in the original source. This is easy when the extracted text is contiguous (findable with exact string matching), but much harder when it is…
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…
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…