IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Program Flow Analysis: Theory and Application
Program Flow Analysis: Theory and Application
Partial Completeness of Abstract Fixpoint Checking
SARA '02 Proceedings of the 4th International Symposium on Abstraction, Reformulation, and Approximation
Lower bounds for natural proof systems
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
SPIN'03 Proceedings of the 10th international conference on Model checking software
Thread-modular counterexample-guided abstraction refinement
SAS'10 Proceedings of the 17th international conference on Static analysis
Predicate abstraction and refinement for verifying multi-threaded programs
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking a networked system without the network
Proceedings of the 8th USENIX conference on Networked systems design and implementation
Precise thread-modular verification
SAS'07 Proceedings of the 14th international conference on Static Analysis
Efficient coverability analysis by proof minimization
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Hi-index | 0.00 |
Verification of multithreaded programs is difficult. It requires reasoning about state spaces that grow exponentially in the number of concurrent threads. Successful verification techniques based on modular composition of over-approximations of thread behaviors have been designed for this task. These techniques have been traditionally described in assume-guarantee style, which does not admit reasoning about the abstraction properties of the involved compositional argument. Flanagan and Qadeer thread-modular algorithm is a characteristic representative of such techniques. In this paper, we investigate the formalization of this algorithm in the framework of abstract interpretation. We identify the abstraction that the algorithm implements; its definition involves Cartesian products of sets. Our result provides a basis for the systematic study of similar abstractions for dealing with the state explosion problem. As a first step in this direction, our result provides a characterization of a minimal increase in the precision of the Flanagan and Qadeer algorithm that leads to the loss of its polynomial complexity.