Adequate proof principles for invariance and liveness properties of concurrent programs
Science of Computer Programming
Parallel program design: a foundation
Parallel program design: a foundation
JCIT Proceedings of the fifth Jerusalem conference on Information technology
Undecidable verification problems for programs with unreliable channels
Information and Computation
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Algorithmic analysis of programs with well quasi-ordered domains
Information and Computation - Special issue: LICS 1996—Part 1
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Synthesis of Linear Ranking Functions
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Verifying Systems with Infinite but Regular State Spaces
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Handling Global Conditions in Parameterized System Verification
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
Liveness and Acceleration in Parameterized Verification
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Practical Methods for Proving Program Termination
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Liveness with (0, 1, infty)-Counter Abstraction
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Counterexample-guided abstraction refinement for symbolic model checking
Journal of the ACM (JACM)
Using Forward Reachability Analysis for Verification of Lossy Channel Systems
Formal Methods in System Design
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Transition predicate abstraction and fair termination
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Transition predicate abstraction and fair termination
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Termination analysis of integer linear loops
CONCUR 2005 - Concurrency Theory
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Termination of polynomial programs
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Shape analysis by predicate abstraction
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Separating fairness and well-foundedness for the analysis of fair discrete systems
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Linear ranking with reachability
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Abstraction refinement for termination
SAS'05 Proceedings of the 12th international conference on Static Analysis
Temporal Verification of Fault-Tolerant Protocols
Methods, Models and Tools for Fault Tolerance
Static detection of Livelocks in Ada multitasking programs
Ada-Europe'07 Proceedings of the 12th international conference on Reliable software technologies
Systematic acceleration in regular model checking
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Hi-index | 0.00 |
We present a new method for proving liveness and termination properties for fair concurrent programs, which does not rely on finding a ranking function or on computing the transitive closure of the transition relation. The set of states from which termination or some liveness property is guaranteed is computed by a backwards reachability analysis. A central technique for handling concurrency is a check for certain commutativity properties. The method is not complete. However, it can be seen as a complement to other methods for proving termination, in that it transforms a termination problem into a simpler one with a larger set of terminated states. We show the usefulness of our method by applying it to existing programs from the literature. We have also implemented it in the framework of Regular Model Checking, and used it to automatically verify non-starvation for parameterized algorithms.