Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Synthesis of Linear Ranking Functions
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Practical Methods for Proving Program Termination
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
ALP '97-HOA '97 Proceedings of the 6th International Joint Conference on Algebraic and Logic Programming
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
The size-change principle and dependency pairs for termination of term rewriting
Applicable Algebra in Engineering, Communication and Computing
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Variance analyses from invariance analyses
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proving Conditional Termination
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Loop Summarization Using Abstract Transformers
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
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
ARMC: the logical choice for software model checking with abstraction refinement
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Ranking function synthesis for bit-vector relations
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Size-change termination and transition invariants
SAS'10 Proceedings of the 17th international conference on Static analysis
Metric spaces and termination analyses
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
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
Bound analysis of imperative programs with the size-change abstraction
SAS'11 Proceedings of the 18th international conference on Static analysis
Termination analysis of imperative programs using bitvector arithmetic
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Compositional termination proofs for multi-threaded programs
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Termination analysis with algorithmic learning
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Automated termination proofs for Java programs with cyclic data
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Precise enforcement of progress-sensitive security
Proceedings of the 2012 ACM conference on Computer and communications security
Binary reachability analysis of higher order functional programs
SAS'12 Proceedings of the 19th international conference on Static Analysis
Termination proofs for linear simple loops
SAS'12 Proceedings of the 19th international conference on Static Analysis
Ramsey vs. lexicographic termination proving
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Loop summarization using state and transition invariants
Formal Methods in System Design
Proving termination starting from the end
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.00 |
Modern termination provers rely on a safety checker to construct disjunctively well-founded transition invariants This safety check is known to be the bottleneck of the procedure We present an alternative algorithm that uses a light-weight check based on transitivity of ranking relations to prove program termination We provide an experimental evaluation over a set of 87 Windows drivers, and demonstrate that our algorithm is often able to conclude termination by examining only a small fraction of the program As a consequence, our algorithm is able to outperform known approaches by multiple orders of magnitude.