English
Related papers

Related papers: Scaling Bounded Model Checking By Transforming Pro…

200 papers

Symmetry breaking is a crucial technique in modern combinatorial solving, but it is difficult to be sure it is implemented correctly. The most successful approach to deal with bugs is to make solvers certifying, so that they output not just…

Providing feedback is an integral part of teaching. Most open online courses on programming make use of automated grading systems to support programming assignments and give real-time feedback. These systems usually rely on test results to…

Software Engineering · Computer Science 2019-05-30 Rahul Gupta , Aditya Kanade , Shirish Shevade

Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring…

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

The implementation of digital filters in processors based on fixed-point arithmetic can lead to problems related to the finite word-length. In particular, the processing of signals in such filters can produce overflows and unwanted noise…

Software Engineering · Computer Science 2013-07-24 Renato B. Abreu , Lucas Cordeiro , Eddie B. L. Filho

Several techniques and tools have been developed for verification of properties expressed as Horn clauses with constraints over a background theory (CHC). Current CHC verification tools implement intricate algorithms and are often limited…

Programming Languages · Computer Science 2014-05-16 John P. Gallagher , Bishoksan Kafle

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

Program verification is vital for ensuring software reliability, especially in the context of increasingly complex systems. Loop invariants, remaining true before and after each iteration of loops, are crucial for this verification process.…

Programming Languages · Computer Science 2024-06-10 Chang Liu , Xiwei Wu , Yuan Feng , Qinxiang Cao , Junchi Yan

Large language models for code generation increasingly rely on synthetic data, where both problem solutions and verification tests are generated by models. While this enables scalable data creation, it introduces a previously unexplored…

Software Engineering · Computer Science 2025-09-26 Srishti Gureja , Elena Tommasone , Jingyi He , Sara Hooker , Matthias Gallé , Marzieh Fadaee

Security vulnerabilities present in a code that has been written in diverse programming languages are among the most critical yet complicated aspects of source code to detect. Static analysis tools based on rule-based patterns usually do…

Cryptography and Security · Computer Science 2025-08-19 Hael Abdulhakim Ali Humran , Ferdi Sonmez

We investigate the problem of safety verification of infinite-state parameterized programs that are formed based on a rich class of topologies. We introduce a new proof system, called parametric proof spaces, which exploits the underlying…

Logic in Computer Science · Computer Science 2026-01-27 Ruotong Cheng , Azadeh Farzan

We consider the problem of bounded model checking (BMC) for linear temporal logic (LTL). We present several efficient encodings that have size linear in the bound. Furthermore, we show how the encodings can be extended to LTL with past…

Logic in Computer Science · Computer Science 2017-01-11 Armin Biere , Keijo Heljanko , Tommi Junttila , Timo Latvala , Viktor Schuppan

Automatically verifying safety properties of programs is hard, and it is even harder if the program acts upon arrays or other forms of maps. Many approaches exist for verifying programs operating upon Boolean and integer values (e.g.…

Programming Languages · Computer Science 2015-10-01 David Monniaux , Laure Gonnord

We present the SER modeling language for automatically verifying serializability of concurrent programs, i.e., whether every concurrent execution of the program is equivalent to some serial execution. SER programs are suitably restricted to…

Formal Languages and Automata Theory · Computer Science 2026-01-21 Guy Amir , Mark Barbone , Nicolas Amat , Jules Jacobs

Serializability is a well-understood concurrency control mechanism that eases reasoning about highly-concurrent database programs. Unfortunately, enforcing serializability has a high-performance cost, especially on geographically…

Programming Languages · Computer Science 2021-03-10 Kia Rahmani , Kartik Nagar , Benjamin Delaware , Suresh Jagannathan

We introduce a robust numerical technique to verify the causality of sampled scattering parameters given on a finite bandwidth. The method is based on a filtered Fourier transform and includes a rigorous estimation of the errors caused by…

Computational Engineering, Finance, and Science · Computer Science 2016-06-29 Piero Triverio

As research in automatically detecting bugs grows and produces new techniques, having suitable collections of programs with known bugs becomes crucial to reliably and meaningfully compare the effectiveness of these techniques. Most of the…

Software Engineering · Computer Science 2024-10-03 Riccardo Felici , Laura Pozzi , Carlo A. Furia

To render a sequence testable, namely capable of identifying and detecting errors, it is necessary to apply a transformation that increases its length by introducing statistical dependence among symbols, as commonly exemplified by the…

Information Theory · Computer Science 2025-07-08 Aida Koch , Alix Petit

An engineering design process may involve software modules that can executed concurrently. Concurrent modules can be very easily subject to some synchronization errors. This paper discusses verification process for such engineering…

Software Engineering · Computer Science 2017-04-24 Jerzy Mieścicki , Mikołaj Baszun , Wiktor B. Daszczuk , Bogdan D. Czejdo

This tutorial provides an introduction to CPAchecker for users. CPAchecker is a flexible and configurable framework for software verification and testing. The framework provides many abstract domains, such as BDDs, explicit values,…