English
Related papers

Related papers: SMT-based Model Checking for Recursive Programs

200 papers

Operator Precedence Languages (OPL) have been recently identified as a suitable formalism for model checking recursive procedural programs, thanks to their ability of modeling the program stack. OPL requirements can be expressed in the…

Logic in Computer Science · Computer Science 2024-05-21 Michele Chiari , Luca Geatti , Nicola Gigante , Matteo Pradella

In this work we develop a fully automatic verification procedure of safety properties of Scade programs. We transform each such program into an SMT instance (Satisfiability Modulo Theories) and feed this to a solver. The goal is to have a…

Logic in Computer Science · Computer Science 2014-03-13 Henning Basold

The article "Interpolation and SAT-Based Model Checking" (McMillan, 2003) describes a formal-verification algorithm, which was originally devised to verify safety properties of finite-state transition systems. It derives interpolants from…

Software Engineering · Computer Science 2024-03-14 Dirk Beyer , Nian-Ze Lee , Philipp Wendler

#SMT, or model counting for logical theories, is a well-known hard problem that generalizes such tasks as counting the number of satisfying assignments to a Boolean formula and computing the volume of a polytope. In the realm of…

Logic in Computer Science · Computer Science 2015-10-30 Dmitry Chistikov , Rayna Dimitrova , Rupak Majumdar

We present a Bounded Model Checking technique for higher-order programs. The vehicle of our study is a higher-order calculus with general references. Our technique is a symbolic state syntactical translation based on SMT solvers, adapted to…

Programming Languages · Computer Science 2018-04-06 Yu-Yang Lin , Nikos Tzevelekos

Universal quantifiers occur frequently in proof obligations produced by program verifiers, for instance, to axiomatize uninterpreted functions and to express properties of arrays. SMT-based verifiers typically reason about them via…

Programming Languages · Computer Science 2021-12-15 Alexandra Bugariu , Arshavir Ter-Gabrielyan , Peter Müller

This technical report presents implementation of two symbolic model checking algorithms that use SAT/SMT Solvers, namely interpolation based model checking and k-induction based model checking. We also do a comparative analysis of these two…

Logic in Computer Science · Computer Science 2022-07-05 Tephilla Prince , Atif Abdur Rahman , Sheerazuddin Syed

The software development process for embedded systems is getting faster and faster, which generally incurs an increase in the associated complexity. As a consequence, consumer electronics companies usually invest a lot of resources in fast…

Logic in Computer Science · Computer Science 2015-09-08 Felipe R. M. Sousa , Lucas C. Cordeiro , Eddie B. de Lima Filho

We present a tool for verification of deterministic programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool by encoding programs with…

Logic in Computer Science · Computer Science 2021-03-16 Georg Schmid , Viktor Kunčak

In top-down multi-level design methodologies, design descriptions at higher levels of abstraction are incrementally refined to the final realizations. Simulation based techniques have traditionally been used to verify that such model…

Logic in Computer Science · Computer Science 2013-08-02 Salim Ismail Al-Akhras , Sofiène Tahar , Gabriela Nicolescu , Michel Langevin , Pierre Paulin

Artificial Neural Networks (ANNs) are being deployed for an increasing number of safety-critical applications, including autonomous cars and medical diagnosis. However, concerns about their reliability have been raised due to their…

Machine Learning · Computer Science 2021-09-17 Luiz Sena , Xidan Song , Erickson Alves , Iury Bessa , Edoardo Manino , Lucas Cordeiro , Eddie de Lima Filho

In the last three decades, memory safety issues in system programming languages such as C or C++ have been one of the significant sources of security vulnerabilities. However, there exist only a few attempts with limited success to cope…

Software Engineering · Computer Science 2021-07-05 Felipe R. Monteiro , Mikhail R. Gadelha , Lucas C. Cordeiro

Recursive self-modification is increasingly central in AutoML, neural architecture search, and adaptive optimization, yet no existing framework ensures that such changes are made safely. Godel machines offer a principled safeguard by…

Machine Learning · Computer Science 2025-10-14 Xuening Wu , Shenqin Yin , Yanlan Kang , Xinhang Zhang , Qianya Xu , Zeping Chen , Wenqiang Zhang

We study verification over a general model of artifact-centric systems, to assess (parameterized) safety properties irrespectively of the initial database instance. We view such artifact systems as array-based systems, which allows us to…

Logic in Computer Science · Computer Science 2019-02-28 Diego Calvanese , Silvio Ghilardi , Alessandro Gianola , Marco Montali , Andrey Rivkin

Software model checkers based on under-approximations and SMT solvers are very successful at verifying safety (i.e. reachability) properties. They combine two key ideas -- (a) "concreteness": a counterexample in an under-approximation is a…

Logic in Computer Science · Computer Science 2013-06-11 Anvesh Komuravelli , Arie Gurfinkel , Sagar Chaki , Edmund M. Clarke

Scientific software is, by its very nature, complex. It is mathematical and highly optimized which makes it prone to subtle bugs not as easily detected by traditional testing. We outline how symbolic execution can be used to write tests…

Software Engineering · Computer Science 2025-10-16 Alexander C. Wilton

We present an algorithm for tests generation tools based on symbolic execution. The algorithm is supposed to help in situations, when a tool is repeatedly failing to cover some code by tests. The algorithm then provides the tool a necessary…

Symbolic Computation · Computer Science 2011-12-21 Marek Trtík

The development of embedded systems requires formal analysis of models such as those described with MATLAB/Simulink. However, the increasing complexity of industrial models makes analysis difficult. This paper proposes a model checking…

Logic in Computer Science · Computer Science 2022-06-08 Daisuke Ishii , Takashi Tomita , Toshiaki Aoki , The Quyen Ngo , Thi Bich Ngoc Do , Hideaki Takai

Symbolic Execution is a formal method that can be used to verify the behavior of computer programs and detect software vulnerabilities. Compared to other testing methods such as fuzzing, Symbolic Execution has the advantage of providing…

Cryptography and Security · Computer Science 2025-09-29 Christopher Scherb , Luc Bryan Heitz , Hermann Grieder , Olivier Mattmann

In the context of verification of data-aware processes (DAPs), a formal approach based on satisfiability modulo theories (SMT) has been considered to verify parameterised safety properties of so-called artifact-centric systems. This…

Artificial Intelligence · Computer Science 2021-08-30 Diego Calvanese , Alessandro Gianola , Andrea Mazzullo , Marco Montali
‹ Prev 1 2 3 10 Next ›