Proceedings Article10.1109/TASE.2013.10
Process Rewrite Systems for Software Model Checking
Tayssir Touili
- 01 Jul 2013
- pp 15-22
TL;DR: The first fully automatic translation from parallel recursive programs to PRS is given, and a refinement procedure is proposed that allows to create more precise PRS models of a given program.
read more
Abstract: We consider the verification problem of multithreaded recursive programs. We use Process Rewrite Systems (PRS) to model such programs. This allows the use of all the existing results for the analysis of PRS to analyse multithreaded recursive programs. We first give a fully automatic translation from parallel recursive programs to PRS. As far as we know, this is the first time that a formal translation from multithreaded programs to PRS is given. The obtained PRS is an abstraction of the program. We identify a class of programs for which our translation is exact. We also propose a refinement procedure that allows to create more precise PRS models of a given program. We applied our techniques successfuly for the analysis of two versions of a Windows NT Bluetooth driver.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
References
Lazy abstraction
Thomas A. Henzinger,Ranjit Jhala,Rupak Majumdar,Grégoire Sutre +3 more
- 01 Jan 2002
TL;DR: This work presents an algorithm for model checking safety properties using lazy abstraction and describes an implementation of the algorithm applied to C programs and provides sufficient conditions for the termination of the method.
1.3K
Modular verification of software components in C
TL;DR: This work presents a new methodology for automatic verification of C programs against finite state machine specifications using weak simulation as the notion of conformance between the program and its specification.
Context-Bounded model checking of concurrent software
Shaz Qadeer,Jakob Rehof +1 more
- 04 Apr 2005
TL;DR: In this paper, the authors show that the problem of verifying a concurrent boolean program is decidable, even in the presence of unbounded parallelism, if the analysis is restricted to executions in which the number of context switches is bounded by an arbitrary constant.
Modular verification of software components in C
Sagar Chaki,Edmund M. Clarke,Alex Groce,Somesh Jha,Helmut Veith +4 more
- 03 May 2003
TL;DR: This work presents a new methodology for automatic verification of C programs against finite state machine specifications that uses weak simulation as the notion of conformance between the program and its specification.
Automatically validating temporal safety properties of interfaces
Thomas Ball,Sriram K. Rajamani +1 more
TL;DR: Automatically validating temporal safety properties of interfaces automatically creates abstractions of C code based on user-stated properties and converges on a set of powerful predicates in few iterations.
240
Related Papers (5)
Alessandro Armando,Claudio Castellini,Jacopo Mantovani +2 more
- 08 Nov 2004
Holger Hermanns,Jens Palsberg +1 more