English
Related papers

Related papers: Testing, Credible Compilation, and Verification in…

200 papers

Teaching proofs is a crucial component of any undergraduate-level program that covers formal reasoning. We have developed a calculational reasoning format and refined it over several years of teaching a freshman-level course, "Logic and…

Logic in Computer Science · Computer Science 2023-11-16 Andrew T. Walter , Ankit Kumar , Panagiotis Manolios

Many verification tools come out of academic projects, whose natural constraints do not typically lead to a strong focus on usability. For widespread use, however, usability is essential. Using a well-known benchmark, the Tokeneer problem,…

Software Engineering · Computer Science 2016-05-06 Mansur Khazeev , Victor Rivera , Manuel Mazzara , Alexander Tchitchigin

Large language models are often adapted through parameter efficient fine tuning, but current release practices provide weak assurances about what data were used and how updates were computed. We present Verifiable Fine Tuning, a protocol…

Cryptography and Security · Computer Science 2025-12-30 Hasan Akgul , Daniel Borg , Arta Berisha , Amina Rahimova , Andrej Novak , Mila Petrov

While LLM-based agents are able to tackle a wide variety of code reasoning questions, the answers are not always correct. This prevents the agent from being useful in situations where high precision is desired: (1) helping a software…

Software Engineering · Computer Science 2025-11-17 Meghana Sistla , Gogul Balakrishnan , Pat Rondon , José Cambronero , Michele Tufano , Satish Chandra

Classical software verification and validation techniques, such as procedural audits, formal methods, or model documentation, are the traditional mechanisms used to achieve the verifiable accountability now required by regulations like the…

The correctness of complex software depends on the correctness of both the source code and the compilers that generate corresponding binary code. Compilers must do more than preserve the semantics of a single source file: they must ensure…

Programming Languages · Computer Science 2024-09-04 Luke Geeson , James Brotherston , Wilco Dijkstra , Alastair F. Donaldson , Lee Smith , Tyler Sorensen , John Wickerson

Several software systems are polyglot; that is, they comprise programs implemented in a combination of programming languages. Verifiers that directly run on mainstream programming languages are currently customized for single languages.…

Programming Languages · Computer Science 2025-10-14 Pei-Wei Chen , Shaokai Lin , Adwait Godbole , Ramneet Singh , Elizabeth Polgreen , Edward A. Lee , Sanjit A. Seshia

In various provers and deductive verification tools, logical transformations are used extensively in order to reduce a proof task into a number of simpler tasks. Logical transformations are often part of the trusted base of such tools. In…

Logic in Computer Science · Computer Science 2021-07-07 Quentin Garchery

Verification is the process of checking whether a product has been implemented according to its prescribed specifications. We study the case of a designer (the developer) that needs to verify its design by a third party (the verifier), by…

Cryptography and Security · Computer Science 2016-05-13 Yixian Cai , George Karakostas , Alan Wassyng

This paper presents the Soda language for verifying multi-agent systems. Soda is a high-level functional and object-oriented language that supports the compilation of its code not only to Scala, a strongly statically typed high-level…

Programming Languages · Computer Science 2025-03-11 Julian Alfredo Mendez , Timotheus Kampik

Proof-oriented programming languages (POPLs) empower developers to write code alongside formal correctness proofs, providing formal guarantees that the code adheres to specified requirements. Despite their powerful capabilities, POPLs…

Software Engineering · Computer Science 2025-08-06 Rijul Jain , Shraddha Barke , Gabriel Ebner , Md Rakib Hossain Misu , Shan Lu , Sarah Fakhoury

Researchers have recently designed a number of application-specific fault tolerance mechanisms that enable applications to either be naturally resilient to errors or include additional detection and correction steps that can bring the…

Programming Languages · Computer Science 2018-05-17 Brett Boston , Zoe Gong , Michael Carbin

Hardware accelerators (HAs) are essential building blocks for fast and energy-efficient computing systems. Accelerator Quick Error Detection (A-QED) is a recent formal technique which uses Bounded Model Checking for pre-silicon verification…

Nowadays, formal methods are used in various areas for the verification of programs or for code generation from models in order to increase the quality of software and to reduce costs. However, there are still fields in which formal methods…

Software Engineering · Computer Science 2021-07-01 Matthias Weiß , Philipp Marks , Benjamin Maschler , Dustin White , Pascal Kesseli , Michael Weyrich

Gradual verification, which supports explicitly partial specifications and verifies them with a combination of static and dynamic checks, makes verification more incremental and provides earlier feedback to developers. While an abstract,…

Programming Languages · Computer Science 2023-11-14 Conrad Zimmerman , Jenna DiVincenzo , Jonathan Aldrich

This paper presents verification-guided development (VGD), a software engineering process we used to build Cedar, a new policy language for expressive, fast, safe, and analyzable authorization. Developing a system with VGD involves writing…

Large language models have demonstrated impressive capabilities in generating code, yet they often produce programs with flaws or deviations from intended behavior, limiting their suitability for safety-critical applications. To address…

Software Engineering · Computer Science 2025-04-08 Merlijn Sevenhuijsen , Khashayar Etemadi , Mattias Nyberg

The correctness of the Solidity compiler is crucial for ensuring the security of smart contracts. However, the implementation complexity of its type system often introduces elusive defects. This paper presents the first systematic empirical…

Software Engineering · Computer Science 2025-12-23 Lantian Li , Yue Pan , Dan Wang , Jingwen Wu , Zhongxing Yu

The ACL2 theorem prover is a complex system. Its libraries are vast. Industrial verification efforts may extend this base with hundreds of thousands of lines of additional modeling tools, specifications, and proof scripts. High quality…

Software Engineering · Computer Science 2014-06-10 Jared Davis , Matt Kaufmann

A compiler processes the code written in a high level language and produces machine executable code. The compiler writers often face the challenge of keeping the compilation times reasonable. That is because aggressive optimization passes…

Programming Languages · Computer Science 2019-05-30 Sanket Tavarageri