Approximating the domains of functional and imperative programs
Science of Computer Programming
An axiomatic basis for computer programming
Communications of the ACM
Practical Methods for Proving Program Termination
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Non-linear loop invariant generation using Gröbner bases
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Termination analysis of integer linear loops
CONCUR 2005 - Concurrency Theory
An Algorithm for Automated Generation of Invariants for Loops with Conditionals
SYNASC '05 Proceedings of the Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 5th international conference on Generative programming and component engineering
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lifting abstract interpreters to quantified logical domains
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Proving Conditional Termination
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
HASE '08 Proceedings of the 2008 11th IEEE High Assurance Systems Engineering Symposium
Finding Loop Invariants for Programs over Arrays Using a Theorem Prover
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Mathematics for reasoning about loop functions
Science of Computer Programming
Looper: Lightweight Detection of Infinite Loops at Runtime
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Proving programs incorrect using a sequent calculus for Java dynamic logic
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Non-termination checking for imperative programs
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
SAS'10 Proceedings of the 17th international conference on Static analysis
Inferring loop invariants using postconditions
Fields of logic and computation
Transition invariants and transition predicate abstraction for program termination
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Loop summarization and termination analysis
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Program verification using automatic generation of invariants
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
Interpolation and symbol elimination in vampire
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Termination analysis of imperative programs using bitvector arithmetic
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Invariant relations: an automated tool to analyze loops
VECoS'11 Proceedings of the Fifth international conference on Verification and Evaluation of Computer and Communication Systems
Termination analysis with algorithmic learning
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Invariant functions and invariant relations: An alternative to invariant assertions
Journal of Symbolic Computation
Invariant relations, invariant functions, and loop functions
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Traditionally, invariant assertions are used to verify the partial correctness of while loops with respect to pre/post specifications. In this paper we discuss a related but distinct concept, namely invariant relations, and show how invariant relations are a more potent tool in the analysis of while loops: whereas invariant assertions can only be used to prove partial correctness, invariant relations can be used to prove total correctness; also, whereas invariant assertions can only be used to prove correctness, invariant relations can be used to prove correctness and can also be used to prove incorrectness; finally, where traditional studies of loop termination equate termination with iterating a finite number of times, we broaden the definition of termination to also capture the condition that each individual iteration proceeds without raising an exception.