English
Related papers

Related papers: Verification-Preserving Inlining in Automatic Sepa…

200 papers

Bounded model checking (BMC) is a well-known and successful technique for finding bugs in software. k-induction is an approach to extend BMC-based approaches from falsification to verification. Automatically generated auxiliary invariants…

Software Engineering · Computer Science 2015-02-03 Dirk Beyer , Matthias Dangl , Philipp Wendler

Precisely modeling complex systems like cyber-physical systems is challenging, which often render model-based system verification techniques like model checking infeasible. To overcome this challenge, we propose a method called LAR to…

Software Engineering · Computer Science 2019-11-21 Jingyi Wang , Jun Sun , Shengchao Qin , Cyrille Jegourel

This paper introduces several techniques that improve the scalability of the deductive verification of data-level programs working on arrays and matrices. First of all, we introduce a technique to rewrite expressions with (nested)…

Software Engineering · Computer Science 2026-05-14 Lars B. van den Haak , Anton Wijs , Marieke Huisman

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

Programming Languages · Computer Science 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

We consider the problem of automatically proving resource bounds. That is, we study how to prove that an integer-valued resource variable is bounded by a given program expression. Automatic resource-bound analysis has recently received…

Programming Languages · Computer Science 2021-10-15 Tianhan Lu , Bor-Yuh Evan Chang , Ashutosh Trivedi

Atomicity violation is one of the most serious types of bugs in concurrent programs. Synchronizations are commonly used to enforce atomicity. However, it is very challenging to place synchronizations correctly and sufficiently due to…

Software Engineering · Computer Science 2025-04-24 Zhuang Li , Qiuping Yi , Jeff Huang

Verification of higher-order probabilistic programs is a challenging problem. We present a verification method that supports several quantitative properties of higher-order probabilistic programs. Usually, extending verification methods to…

Logic in Computer Science · Computer Science 2024-07-04 Satoshi Kura , Hiroshi Unno

Program analysis is on the brink of mainstream in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and automated test case generation are some of the most common applications of automated…

Software Engineering · Computer Science 2014-09-23 Peter Schrammel , Daniel Kroening , Martin Brain , Ruben Martins , Tino Teige , Tom Bienmüller

Optimizing compilers have become a cornerstone for high-performance program generation in research and industry. Optimizations, including those implemented manually by a user and those target-specific and non-target-specific, are used to…

Programming Languages · Computer Science 2026-05-05 Emily Tucker , Louis-Noël Pouchet , Erika Hunhoff , Stephen Neuendorffer , Erwei Wang

The automatic generation of loop invariants is a fundamental challenge in software verification. While this task is undecidable in general, it is decidable for certain restricted classes of programs. This work focuses on invariant…

Computational Complexity · Computer Science 2024-11-14 Rida Ait El Manssour , George Kenison , Mahsa Shirmohammadi , Anton Varonka

Advances in training, post-training, and inference-time methods have enabled frontier reasoning models to win gold medals in math competitions and settle challenging open problems. Gaining trust in the responses of these models requires…

Machine Learning · Computer Science 2026-04-06 Aaditya Naik , Guruprerana Shabadi , Rajeev Alur , Mayur Naik

Uncertainty calibration is essential for the safe deployment of large language models (LLMs), particularly when users rely on verbalized confidence estimates. While prior work has focused on classifiers or short-form generation, confidence…

Computation and Language · Computer Science 2025-06-05 Chaeyun Jang , Moonseok Choi , Yegon Kim , Hyungi Lee , Juho Lee

First-order logic has been established as an important tool for modeling and verifying intricate systems such as distributed protocols and concurrent systems. These systems are parametric in the number of nodes in the network or the number…

Logic in Computer Science · Computer Science 2024-08-21 Raz Lotan , Eden Frenkel , Sharon Shoham

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

Software for mixed-integer linear programming can return incorrect results for a number of reasons, one being the use of inexact floating-point arithmetic. Even solvers that employ exact arithmetic may suffer from programming or algorithmic…

Optimization and Control · Mathematics 2019-01-03 Kevin K. H. Cheung , Ambros Gleixner , Daniel E. Steffy

Sound over-approximation methods have been proved effective for guaranteeing the absence of errors, but inevitably they produce false alarms that can hamper the programmers. Conversely, under-approximation methods are aimed at bug finding…

Logic in Computer Science · Computer Science 2026-01-23 Flavio Ascari , Roberto Bruni , Roberta Gori , Francesco Logozzo

We consider temporal logic verification of (possibly nonlinear) dynamical systems evolving over continuous state spaces. Our approach combines automata-based verification and the use of so-called barrier certificates. Automata-based…

Formal Languages and Automata Theory · Computer Science 2014-03-17 Tichakorn Wongpiromsarn , Ufuk Topcu , Andrew Lamperski

Arrays are commonly used in a variety of software to store and process data in loops. Automatically proving safety properties of such programs that manipulate arrays is challenging. We present a novel verification technique, called…

Programming Languages · Computer Science 2022-09-27 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Recent frontier large language models (LLMs) have shown strong performance in identifying security vulnerabilities in large, mature open-source systems. As LLM-generated code becomes increasingly common, a natural goal is to prevent such…

Software Engineering · Computer Science 2026-05-13 Zhaorui Li , Chengyu Song

One of the most attractive features of untyped languages is the flexibility in term creation and manipulation. However, with such power comes the responsibility of ensuring the correctness of these operations. A solution is adding run-time…

Programming Languages · Computer Science 2017-10-17 Nataliia Stulova , José F. Morales , Manuel V. Hermenegildo