English
Related papers

Related papers: Scaling Bounded Model Checking By Transforming Pro…

200 papers

For all the successes in verifying low-level, efficient, security-critical code, little has been said or studied about the structure, architecture and engineering of such large-scale proof developments. We present the design, implementation…

Programming Languages · Computer Science 2023-07-10 Son Ho , Aymeric Fromherz , Jonathan Protzenko

Trace analysis can be a useful way to discover problems in a program under test. Rather than writing a special purpose trace analysis tool, this paper proposes that traces can usefully be analysed by checking them against a formal model…

Logic in Computer Science · Computer Science 2011-11-14 Y. Howard , S. Gruner , A. Gravell , C. Ferreira , J. C. Augusto

Automatic verification of array manipulating programs is a challenging problem because it often amounts to the inference of in ductive quantified loop invariants which, in some cases, may not even be firstorder expressible. In this paper,…

Programming Languages · Computer Science 2021-06-03 Oren Ish Shalom , Shachar Itzhaky , Noam Rinetzky , Sharon Shoham

Verifying multi-threaded programs is becoming more and more important, because of the strong trend to increase the number of processing units per CPU socket. We introduce a new configurable program analysis for verifying multi-threaded…

Logic in Computer Science · Computer Science 2016-12-23 Dirk Beyer , Karlheinz Friedberger

Software model checking constitutes an undecidable problem and, as such, even an ideal tool will in some cases fail to give a conclusive answer. In practice, software model checkers fail often and usually do not provide any information on…

Software Engineering · Computer Science 2017-08-21 Rodrigo Castaño , Victor Braberman , Diego Garbervetsky , Sebastian Uchitel

Abstraction (in its various forms) is a powerful established technique in model-checking; still, when unbounded data-structures are concerned, it cannot always cope with divergence phenomena in a satisfactory way. Acceleration is an…

Logic in Computer Science · Computer Science 2013-10-04 Francesco Alberti , Silvio Ghilardi , Natasha Sharygina

Regression Testing is exclusively executed to guarantee the desirable functionality of existing software after pursuing quite a few amendments or variations in it. Perhaps, it testifies the quality of the modified software by concealing the…

Software Engineering · Computer Science 2013-12-10 R. Beena , S. Sarala

Probabilistic programming is perfectly suited to reliable and transparent data science, as it allows the user to specify their models in a high-level language without worrying about the complexities of how to fit the models. Static analysis…

Artificial Intelligence · Computer Science 2020-08-31 Ryan Bernstein , Matthijs Vákár , Jeannette Wing

Metamorphic testing is a widely used methodology that examines an expected relation between pairs of executions to automatically find bugs, such as correctness bugs. We found that code coverage cannot accurately measure the extent to which…

Software Engineering · Computer Science 2025-08-25 Jinsheng Ba , Yuancheng Jiang , Manuel Rigger

We report on intermediate results of -- to the best of our knowledge -- the first study of completeness thresholds for (partially) bounded memory safety proofs. Specifically, we consider heap-manipulating programs that iterate over arrays…

Logic in Computer Science · Computer Science 2023-05-08 Tobias Reinhard , Justus Fasse , Bart Jacobs

Cycle-accurate software simulation of multicores with complex microarchitectures is often excruciatingly slow. People use simplified core models to gain simulation speed. However, a persistent question is to what extent the results derived…

Hardware Architecture · Computer Science 2016-10-10 Sizhuo Zhang , Andrew Wright , Daniel Sanchez , Arvind

Determining whether a program terminates is a core challenge in program analysis with direct implications for correctness, verification, and security. We investigate whether transformer architectures can recognise termination patterns…

Programming Languages · Computer Science 2026-04-02 Yoav Alon , Cristina David

Detecting software vulnerabilities is critical to ensuring the security and reliability of modern computer systems. Deep neural networks have shown promising results on vulnerability detection, but they lack the capability to capture global…

Cryptography and Security · Computer Science 2026-04-02 Sameer Shaik , Zhen Huang , Daniela Stan Raicu , Jacob Furst

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

This paper describes the development and verification of a competitive parachute system for Micro Air Vehicles, in particular focusing on verification of the embedded software. We first introduce the overall solution including a system…

Software Engineering · Computer Science 2017-06-12 Martin Becker , Markus Neumair , Alexander Söhn , Samarjit Chakraborty

Software is a great enabler for a number of projects that otherwise would be impossible to perform. Such projects include Space Exploration, Weather Modeling, Genome Projects, and many others. It is critical that software aiding these…

Software Engineering · Computer Science 2023-02-10 Aedin Pereira , Julia Ding , Zaina Ali , Rodion Podorozhny

Detecting buffer overruns from a source code is one of the most common and yet challenging tasks in program analysis. Current approaches have mainly relied on rigid rules and handcrafted features devised by a few experts, limiting…

Software Engineering · Computer Science 2017-03-08 Min-je Choi , Sehun Jeong , Hakjoo Oh , Jaegul Choo

A novel, scalable, on-the-fly model-checking procedure is presented to verify bounded PCTL properties of selected individuals in the context of very large systems of independent interacting objects. The proposed procedure combines…

Logic in Computer Science · Computer Science 2013-12-13 Diego Latella , Michele Loreti , Mieke Massink

This paper introduces the abstraction of max-plus linear (MPL) systems via predicates. Predicates are automatically selected from system matrix, as well as from the specifications under consideration. We focus on verifying time-difference…

Logic in Computer Science · Computer Science 2019-07-09 Muhammad Syifa'ul Mufid , Dieky Adzkiya , Alessandro Abate

Accurately predicting faulty software units helps practitioners target faulty units and prioritize their efforts to maintain software quality. Prior studies use machine-learning models to detect faulty software code. We revisit past studies…

Software Engineering · Computer Science 2019-01-08 Libo Li , Stefan Lessmann , Bart Baesens