English
Related papers

Related papers: AutoDeduct: A Tool for Automated Deductive Verific…

200 papers

Program verifiers for imperative languages such as C may be annotation-based, in which assertions and invariants are put into source files and then checked, or tactic-based, where proof scripts separate from programs are interactively…

Programming Languages · Computer Science 2023-10-27 Litao Zhou , Jianxing Qin , Qinshi Wang , Andrew W. Appel , Qinxiang Cao

We propose an automated verification technique for hypersafety properties, which express sets of valid interrelations between multiple finite runs of a program. The key observation is that constructing a proof for a small representative set…

Programming Languages · Computer Science 2019-05-23 Azadeh Farzan , Anthony Vandikas

Noisy data, non-convex objectives, model misspecification, and numerical instability can all cause undesired behaviors in machine learning systems. As a result, detecting actual implementation errors can be extremely difficult. We…

Software Engineering · Computer Science 2017-06-28 Daniel Selsam , Percy Liang , David L. Dill

This paper presents results from the development and evaluation of a deductive verification benchmark consisting of 26 unmodified Linux kernel library functions implementing conventional memory and string operations. The formal contract of…

Software Engineering · Computer Science 2018-11-15 Denis Efremov , Mikhail Mandrykin , Alexey Khoroshilov

The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many…

Software Engineering · Computer Science 2021-04-13 David Baum , Christina Sixtus , Lisa Vogelsberg , Ulrich Eisenecker

Software contracts allow programmers to state rich program properties using the full expressive power of an object language. However, since they are enforced at runtime, monitoring contracts imposes significant overhead and delays error…

Programming Languages · Computer Science 2017-11-13 Phuc C. Nguyen , Thomas Gilray , Sam Tobin-Hochstadt , David Van Horn

Modern software typically performs more than one functionality. These functionalities or features are not always organized in a way for modules representing these features to be used individually. Many software engineering approaches like…

Software Engineering · Computer Science 2021-08-23 Patrick Müller , Krishna Narasimhan , Mira Mezini

Recent developments in Large Language Models (LLMs) have shown promise in automating code generation, yet the generated programs lack rigorous correctness guarantees. Formal verification can address this shortcoming, but requires expertise…

Formal Languages and Automata Theory · Computer Science 2025-08-27 Niclas Hertzberg , Merlijn Sevenhuijsen , Liv Kåreborn , Anna Lokrantz

Test instability in a floating-point program occurs when the control flow of the program diverges from its ideal execution assuming real arithmetic. This phenomenon is caused by the presence of round-off errors that affect the evaluation of…

Programming Languages · Computer Science 2020-01-10 Laura Titolo , Mariano Moscato , Cesar A. Muñoz

Ensuring that API implementations and usage comply with natural language programming rules is critical for software correctness, security, and reliability. Formal verification can provide strong guarantees but requires precise…

Programming Languages · Computer Science 2026-02-06 Shihao Xia , Mengting He , Haomin Jia , Linhai Song

Training of autonomous driving systems requires extensive datasets with precise annotations to attain robust performance. Human annotations suffer from imperfections, and multiple iterations are often needed to produce high-quality…

Computer Vision and Pattern Recognition · Computer Science 2026-05-01 Santosh Vasa , Aditi Ramadwar , Jnana Rama Krishna Darabattula , Md Zafar Anwar , Stanislaw Antol , Andrei Vatavu , Thomas Monninger , Sihao Ding

One of the most significant challenges in the field of software code auditing is the presence of vulnerabilities in software source code. Every year, more and more software flaws are discovered, either internally in proprietary code or…

Cryptography and Security · Computer Science 2023-06-16 Mst Shapna Akter , Hossain Shahriar , Juan Rodriguez Cardenas , Sheikh Iqbal Ahamed , Alfredo Cuzzocrea

Technical Debt occurs when development teams favour short-term operability over long-term stability. Since this places software maintainability at risk, technical debt requires early attention to avoid paying for accumulated interest. Most…

Software Engineering · Computer Science 2022-10-14 Abdulaziz Alhefdhi , Hoa Khanh Dam , Yusuf Sulistyo Nugroho , Hideaki Hata , Takashi Ishio , Aditya Ghose

With the rise of generative AI, automated fact-checking methods to combat misinformation are becoming more and more important. However, factual claim detection, the first step in a fact-checking pipeline, suffers from two key issues that…

Computation and Language · Computer Science 2024-06-04 Jingwei Ni , Minjing Shi , Dominik Stammbach , Mrinmaya Sachan , Elliott Ash , Markus Leippold

Ensuring software quality in embedded firmware is critical, especially in safety-critical domains where compliance with functional safety standards (ISO 26262) requires strong guarantees of software reliability. While machine learning-based…

Software Engineering · Computer Science 2026-02-09 Marco De Luca , Domenico Amalfitano , Anna Rita Fasolino , Porfirio Tramontana

We consider the problem of intruder deduction in security protocol analysis: that is, deciding whether a given message $M$ can be deduced from a set of messages $\Gamma$ under the theory of blind signatures and arbitrary convergent…

Logic in Computer Science · Computer Science 2009-04-06 Alwen Tiu , Rajeev Gore

Algorithmic differentiation (AD) allows exact computation of derivatives given only an implementation of an objective function. Although many AD tools are available, a proper and efficient implementation of AD methods is not…

Mathematical Software · Computer Science 2018-07-27 Filip Šrajer , Zuzana Kukelova , Andrew Fitzgibbon

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

Deductive verification provides strong correctness guarantees for code by extracting verification conditions (VCs) and writing formal proofs for them. The expertise-intensive task of VC proving is the main bottleneck in this process, and…

Software Engineering · Computer Science 2026-03-24 Huan Zhao , Haoxin Tu , Zhengyao Liu , Martin Rinard , Abhik Roychoudhury

System relevant embedded software needs to be reliable and, therefore, well tested, especially for aerospace systems. A common technique to verify programs is the analysis of their abstract syntax tree (AST). Tree structures can be…

Software Engineering · Computer Science 2017-01-09 Frank Flederer , Ludwig Ostermayer , Dietmar Seipel , Sergio Montenegro