English
Related papers

Related papers: Automated Verification of Practical Garbage Collec…

200 papers

Deductive verification typically relies on function contracts that specify the behavior of each function for a single function call. Relational properties link several function calls together within a single specification. They can express…

Software Engineering · Computer Science 2024-01-17 Lionel Blatter , Nikolai Kosmatov , Virgile Prevosto , Pascale Le Gall

Even competent programmers make mistakes. Automatic verification can detect errors, but leaves the frustrating task of finding the erroneous line of code to the user. This paper presents an automatic approach for identifying potential error…

Logic in Computer Science · Computer Science 2014-09-17 Robert Koenighofer , Ronald Toegl , Roderick Bloem

CompCert is the first realistic formally verified compiler: it provides a machine-checked mathematical proof that the code it generates matches the source code. Yet, there could be loopholes in this approach. We comprehensively analyze…

Logic in Computer Science · Computer Science 2022-10-11 David Monniaux , Sylvain Boulmé

Systems integrating heterogeneous processors with unified memory provide seamless integration among these processors with minimal development complexity. These systems integrate accelerators such as GPUs on the same die with CPU cores to…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-12-14 Mohammad Dashti , Alexandra Fedorova

The demonstrated code-understanding capability of LLMs raises the question of whether they can be used for automated program verification, a task that demands high-level abstract reasoning about program properties that is challenging for…

Formal Languages and Automata Theory · Computer Science 2024-04-26 Haoze Wu , Clark Barrett , Nina Narodytska

We describe the verification of an existing smart contract for a simple casino application, using the Whiley specification and programming language, with a fully automated verification engine based on Boogie and Z3. After finding and fixing…

Logic in Computer Science · Computer Science 2021-06-29 Mark Utting , Liam Kent

Distributed in-network programs are increasingly deployed in data centers for their performance benefits, but shifting application logic to switches also enlarges the failure domain. Ensuring their correctness before deployment is thus…

Networking and Internet Architecture · Computer Science 2025-11-12 Mingyuan Song , Huan Shen , Jinghui Jiang , Qiang Su , Qingyu Song , Lu Tang , Wanjian Feng , Fei Yuan , Qiao Xiang , Jiwu Shu

This paper describes our $3^{rd}$ place submission in the AVeriTeC shared task in which we attempted to address the challenge of fact-checking with evidence retrieved in the wild using a simple scheme of Retrieval-Augmented Generation (RAG)…

Computation and Language · Computer Science 2024-10-16 Herbert Ullrich , Tomáš Mlynář , Jan Drchal

Ladder Logics is a programming language standardized in IEC 61131-3 and widely used for programming industrial Programmable Logic Controllers (PLC). A PLC program consists of inputs (whose values are given at runtime by factory sensors),…

Software Engineering · Computer Science 2019-12-24 Denis Cousineau , David Mentré , Hiroaki Inoue

Programmers routinely trade space for time to increase performance, often in the form of caching or memoization. In managed languages like Java or JavaScript, however, this space-time tradeoff is complex. Using more space translates into…

Programming Languages · Computer Science 2016-10-18 Diogenes Nunez , Samuel Z. Guyer , Emery D. Berger

Automated program verifiers are typically implemented using an intermediate verification language (IVL), such as Boogie or Why3. A verifier front-end translates the input program and specification into an IVL program, while the back-end…

Programming Languages · Computer Science 2024-05-13 Gaurav Parthasarathy , Thibault Dardinier , Benjamin Bonneau , Peter Müller , Alexander J. Summers

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

Software Engineering · Computer Science 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

Today, AI technology is showing its strengths in almost every industry and walks of life. From text generation, text summarization, chatbots, NLP is being used widely. One such paradigm is automatic code generation. An AI could be…

Artificial Intelligence · Computer Science 2021-08-24 Aishwarya Narasimhan , Krishna Prasad Agara Venkatesha Rao , Veena M B

Behavior Trees (BTs) are high level controllers that have found use in a wide range of robotics tasks. As they grow in popularity and usage, it is crucial to ensure that the appropriate tools and methods are available for ensuring they work…

Robotics · Computer Science 2024-11-22 Serena S. Serbinowska , Nicholas Potteiger , Anne M. Tumlin , Taylor T. Johnson

Large language models possess impressive capabilities in generating programs (e.g., Python) from natural language descriptions to execute robotic tasks. However, these generated programs often contain errors that violate externally given…

Artificial Intelligence · Computer Science 2025-11-10 Yunhao Yang , Neel P. Bhatt , William Ward , Zichao Hu , Joydeep Biswas , Ufuk Topcu

End-to-End Translation Validation is the problem of verifying the executable code generated by a compiler against the corresponding input source code for a single compilation. This becomes particularly hard in the presence of…

Programming Languages · Computer Science 2025-10-01 Abhishek Rose , Sorav Bansal

We develop a practical solution to the problem of automatic verification of the interface between device drivers and the OS. Our solution relies on a combination of improved driver architecture and verification tools. It supports drivers…

Operating Systems · Computer Science 2012-11-28 Sidney Amani , Peter Chubb , Alastair F. Donaldson , Alexander Legg , Leonid Ryzhyk , Yanjin Zhu

Verifying programs that manipulate tree data structures often requires complex, ad-hoc proofs that are hard to generalize and automate. This paper introduces an automatic technique for analyzing such programs. Our approach combines automata…

Programming Languages · Computer Science 2024-10-15 Marco Faella , Gennaro Parlato

Geo-replicated systems provide a number of desirable properties such as globally low latency, high availability, scalability, and built-in fault tolerance. Unfortunately, programming correct applications on top of such systems has proven to…

Programming Languages · Computer Science 2025-02-27 Kartik Nagar , Prasita Mukherjee , Suresh Jagannathan

Static analyzers based on abstract interpretation are complex pieces of software implementing delicate algorithms. Even if static analysis techniques are well understood, their implementation on real languages is still error-prone. This…

Programming Languages · Computer Science 2013-05-02 Sandrine Blazy , Vincent Laporte , André Maroneze , David Pichardie