Computer-assisted microanalysis of programs
Communications of the ACM
Communications of the ACM
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM
Visual Abstractions for Temporal Verification
AMAST '98 Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology
Synthesis of Linear Ranking Functions
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Practical Methods for Proving Program Termination
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Integrating static analysis and general-purpose theorem proving for termination analysis
Proceedings of the 28th international conference on Software engineering
Variance analyses from invariance analyses
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proving that programs eventually do something good
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Program Verification by Using DISCOVERER
Verified Software: Theories, Tools, Experiments
Termination Analysis of Java Bytecode
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Proving Conditional Termination
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Dependency Analysis for Control Flow Cycles in Reactive Communicating Processes
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Proving Termination of Integer Term Rewriting
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
SPEED: Symbolic Complexity Bound Analysis
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Automata-Based Termination Proofs
CIAA '09 Proceedings of the 14th International Conference on Implementation and Application of Automata
A Term Rewriting Approach to the Automated Termination Analysis of Imperative Programs
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
A termination analyzer for Java bytecode based on path-length
ACM Transactions on Programming Languages and Systems (TOPLAS)
Summarization for termination: no return!
Formal Methods in System Design
A sound and complete proof rule for region stability of hybrid systems
HSCC'07 Proceedings of the 10th international conference on Hybrid systems: computation and control
Discovering non-linear ranking functions by solving semi-algebraic systems
ICTAC'07 Proceedings of the 4th international conference on Theoretical aspects of computing
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
The reachability-bound problem
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Termination of linear programs with nonlinear constraints
Journal of Symbolic Computation
Automated termination proofs for haskell by term rewriting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Making prophecies with decision predicates
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM
Metric spaces and termination analyses
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
An iterative method for generating loop invariants
FAW-AAIM'11 Proceedings of the 5th joint international frontiers in algorithmics, and 7th international conference on Algorithmic aspects in information and management
Detecting and escaping infinite loops with jolt
Proceedings of the 25th European conference on Object-oriented programming
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Verification constraint problems with strengthening
ICTAC'06 Proceedings of the Third international conference on Theoretical Aspects of Computing
Termination of loop programs with polynomial guards
ICCSA'10 Proceedings of the 2010 international conference on Computational Science and Its Applications - Volume Part IV
Automatic termination proofs for programs with shape-shifting heaps
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Termination analysis with calling context graphs
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Abstraction refinement for termination
SAS'05 Proceedings of the 12th international conference on Static Analysis
Proving liveness by backwards reachability
CONCUR'06 Proceedings of the 17th international conference on Concurrency Theory
SAFERPHP: finding semantic vulnerabilities in PHP applications
Proceedings of the ACM SIGPLAN 6th Workshop on Programming Languages and Analysis for Security
A region graph based approach to termination proofs
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Modular termination analysis of java bytecode and its application to phoneME core libraries
FACS'10 Proceedings of the 7th international conference on Formal Aspects of Component Software
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Termination analysis with algorithmic learning
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Bolt: on-demand infinite loop escape in unmodified binaries
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Termination proofs for linear simple loops
SAS'12 Proceedings of the 19th international conference on Static Analysis
On the linear ranking problem for integer linear-constraint loops
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Eventual linear ranking functions
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Probabilistic program analysis with martingales
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.02 |
We present a technique to prove termination of multipath polynomial programs, an expressive class of loops that enables practical code abstraction and analysis. The technique is based on finite differences of expressions over transition systems. Although no complete method exists for determining termination for this class of loops, we show that our technique is useful in practice. We demonstrate that our prototype implementation for C source code readily scales to large software projects, proving termination for a high percentage of targeted loops.