The early British computer conferences
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Constructive design of a hierarchy of semantics of a transition system by abstract interpretation
Theoretical Computer Science
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Higher-Order and Symbolic Computation
Variance analyses from invariance analyses
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Termination analysis of logic programs through combination of type-based norms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Termination of polynomial programs
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Ranking abstraction as companion to predicate abstraction
FORTE'05 Proceedings of the 25th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Abstract Interpretation with Applications to Timing Validation
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Proving Termination of Integer Term Rewriting
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
A Term Rewriting Approach to the Automated Termination Analysis of Imperative Programs
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Multi-dimensional rankings, program termination, and complexity bounds of flowchart programs
SAS'10 Proceedings of the 17th international conference on Static analysis
SAS'10 Proceedings of the 17th international conference on Static analysis
Automated termination proofs for haskell by term rewriting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
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
Lyapunov abstractions for inevitability of hybrid systems
Proceedings of the 15th ACM international conference on Hybrid Systems: Computation and Control
Termination analysis with algorithmic learning
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
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Loop summarization using state and transition invariants
Formal Methods in System Design
Automated Reasoning and Mathematics
Verifying while loops with invariant relations
International Journal of Critical Computer-Based Systems
Hi-index | 0.02 |
We propose an abstract interpretation algorithm for proving that a program terminates on all inputs. The algorithm uses a novel abstract domain which uses ranking relations to conservatively represent relations between intermediate program states. One of the attractive aspects of the algorithm is that it abstracts information that is usually not important for proving termination such as program invariants and yet it distinguishes between different reasons for termination which are not usually maintained in existing abstract domains. We have implemented a prototype of the algorithm and shown that in practice it is fast and precise.