ACM SIGPLAN Notices · 2008 · 46 citations · 14 references
ComputingComputer ScienceFormal MethodsSafety EngineeringTheory Of ComputationDeductive VerificationModel CheckingProof AssistantsTermination AnalysisTheorem ProvingAutomated Termination ProvingFeasibility CheckingFormal Safety VerificationLiveness PropertiesLiveness VerificationNontermination AnalysisSafety VerificationTermination Proofs
The search for proof and the search for counterexamples (bugs) are complementary activities that need to be pursued concurrently in order to maximize the practical success rate of verification tools.While this is well-understood in safety verification, the current focus of liveness verification has been almost exclusively on the search for termination proofs. A counterexample to termination is an infinite programexecution. In this paper, we propose a method to search for such counterexamples. The search proceeds in two phases. We first dynamically enumerate lasso-shaped candidate paths for counterexamples, and then statically prove their feasibility. We illustrate the utility of our nontermination prover, called TNT, on several nontrivial examples, some of which require bit-level reasoning about integer representations.
14
Koushik Sen, Darko Marinov, Gul Agha · 2005 · 1.7K citations
Patrice Godefroid, Nils Klarlund, Koushik Sen · 2005 · 1.5K citations
Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar et al. · 2002 · 1.2K citations
Thomas Ball, Sriram K. Rajamani · 2002 · 926 citations