The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
First-order logic and automated theorem proving (2nd ed.)
First-order logic and automated theorem proving (2nd ed.)
Automatic generation of invariants and intermediate assertions
Theoretical Computer Science - Special issue: principles and practice of constraint programming
Dynamic Logic
Incremental Closure of Free Variable Tableaux
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proving programs incorrect using a sequent calculus for Java dynamic logic
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
AProVE 1.2: automatic termination proofs in the dependency pair framework
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Proving and disproving termination of higher-order functions
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
ACM Computing Surveys (CSUR)
Experiments with Non-Termination Analysis for Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
Integrating verification and testing of object-oriented software
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
simpA: An agent-oriented approach for programming concurrent applications on top of Java
Science of Computer Programming
Detecting and escaping infinite loops with jolt
Proceedings of the 25th European conference on Object-oriented programming
Using invariant relations in the termination analysis of while loops
Proceedings of the 34th International Conference on Software Engineering
Automated detection of non-termination and nullpointerexceptions for Java Bytecode
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
Adaptively identifying non-terminating code when testing student programs
Proceedings of the 45th ACM technical symposium on Computer science education
Verifying while loops with invariant relations
International Journal of Critical Computer-Based Systems
Hi-index | 0.00 |
While termination checking tailored to real-world library code or frameworks has received ever-increasing attention during the last years, the complementary question of disproving termination properties as a means of debugging has largely been ignored so far. We present an approach to automatic non-termination checking that relates to termination checking in the same way as symbolic testing does to program verification. Our method is based on the automated generation of invariants that show that terminating states of a program are unreachable from certain initial states. Such initial states are identified using constraint-solving techniques. The method is fully implemented on top of a program verification system and available for download. We give an empirical evaluation of the approach using a collection of non-terminating example programs.