The complementation problem for Bu¨chi automata with applications to temporal logic
Theoretical Computer Science
Termination proofs for logic programs
Termination proofs for logic programs
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Computability and complexity: from a programming perspective
Computability and complexity: from a programming perspective
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
An axiomatic basis for computer programming
Communications of the ACM
BTA Algorithms to Ensure Termination of Off-Line Partial Evaluation
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Termination Analysis for Functional Programs using Term Orderings
SAS '95 Proceedings of the Second International Symposium on Static Analysis
Termination Analysis for Offline Partial Evaluation of a Higher Order Functional Language
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Termination Analysis for Mercury
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Automatic Termination Proofs With Transformation Orderings
RTA '95 Proceedings of the 6th International Conference on Rewriting Techniques and Applications
Proving Innermost Normalisation Automatically
RTA '97 Proceedings of the 8th International Conference on Rewriting Techniques and Applications
ALP '97-HOA '97 Proceedings of the 6th International Joint Conference on Algebraic and Logic Programming
From checking to inference via driving and dag grammars
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Dependent Types for Program Termination Verification
Higher-Order and Symbolic Computation
Automatic Accurate Cost-Bound Analysis for High-Level Languages
IEEE Transactions on Computers
Program Termination Analysis in Polynomial Time
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Program Generation, Termination, and Binding-Time Analysis
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Binding-Time Annotations Without Binding-Time Analysis
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
An Abstract Analysis of the Probabilistic Termination of Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Finiteness Analysis in Polynomial Time
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
An Introduction to Dependent Type Theory
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Program Termination Analysis by Size-Change Graphs (Abstract)
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
The essence of computation
General size-change termination and lexicographic descent
The essence of computation
Homeomorphic embedding for online termination of symbolic methods
The essence of computation
Type-based termination of recursive definitions
Mathematical Structures in Computer Science
A predicative analysis of structural recursion
Journal of Functional Programming
Polymorphic specialization for ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Transition predicate abstraction and fair termination
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Transition predicate abstraction and fair termination
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On proving C ε-termination of rewriting by size-change termination
Information Processing Letters
Verifying safety policies with size properties and alias controls
Proceedings of the 27th international conference on Software engineering
Fast narrowing-driven partial evaluation for inductively sequential programs
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying Termination and Reduction Properties about Higher-Order Logic Programs
Journal of Automated Reasoning
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
Program termination analysis in polynomial time
ACM Transactions on Programming Languages and Systems (TOPLAS)
Variance analyses from invariance analyses
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mechanizing and Improving Dependency Pairs
Journal of Automated Reasoning
Termination analysis of logic programs through combination of type-based norms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Transition predicate abstraction and fair termination
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Electronic Notes in Theoretical Computer Science (ENTCS)
Quasi-terminating logic programs for ensuring the termination of partial evaluation
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Type-level Computation Using Narrowing in Ωmega
Electronic Notes in Theoretical Computer Science (ENTCS)
Experiments in Cost Analysis of Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
Termination analysis and call graph construction for higher-order functional programs
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Cyclic proofs of program termination in separation logic
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program termination and well partial orderings
ACM Transactions on Computational Logic (TOCL)
Size-change termination with difference constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
Macros for context-free grammars
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Certified Size-Change Termination
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
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
The Computability Path Ordering: The End of a Quest
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
Adapting functional programs to higher order logic
Higher-Order and Symbolic Computation
Proving Termination with (Boolean) Satisfaction
Logic-Based Program Synthesis and Transformation
Termination Analysis of Logic Programs Based on Dependency Graphs
Logic-Based Program Synthesis and Transformation
COSTA: Design and Implementation of a Cost and Termination Analyzer for Java Bytecode
Formal Methods for Components and Objects
Ranking functions for size-change termination
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Transformational Approach to Polyvariant BTA of Higher-Order Functional Programs
Logic-Based Program Synthesis and Transformation
Büchi Complementation and Size-Change Termination
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Sup-interpretations, a semantic method for static analysis of program resources
ACM Transactions on Computational Logic (TOCL)
A flow calculus of mwp-bounds for complexity analysis
ACM Transactions on Computational Logic (TOCL)
ACM Transactions on Computational Logic (TOCL)
Size-Change Termination, Monotonicity Constraints and Ranking Functions
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
Sequential verification of serializability
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Regular approximation and bounded domains for size-change termination
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
A termination analyzer for Java bytecode based on path-length
ACM Transactions on Programming Languages and Systems (TOPLAS)
On proving C E-termination of rewriting by size-change termination
Information Processing Letters
Summarization for termination: no return!
Formal Methods in System Design
Partial and Nested Recursive Function Definitions in Higher-order Logic
Journal of Automated Reasoning
Size-change termination for term rewriting
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Improving offline narrowing-driven partial evaluation using size-change graphs
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Termination and productivity checking with continuous types
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
Finding lexicographic orders for termination proofs in Isabelle/HOL
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
A SAT-based approach to size change termination with global ranking functions
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Termination of linear programs with nonlinear constraints
Journal of Symbolic Computation
Size-change termination and transition invariants
SAS'10 Proceedings of the 17th international conference on Static analysis
Multi-dimensional rankings, program termination, and complexity bounds of flowchart programs
SAS'10 Proceedings of the 17th international conference on Static analysis
Termination analysis of business process workflows
Proceedings of the 5th International Workshop on Enhanced Web Service Technologies
Gradual refinement: blending pattern matching with data abstraction
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Automated termination proofs for haskell by term rewriting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lazy abstraction for size-change termination
LPAR'10 Proceedings of the 17th international conference on Logic for programming, artificial intelligence, and reasoning
On strong normalization of the calculus of constructions with type-based termination
LPAR'10 Proceedings of the 17th international conference on Logic for programming, artificial intelligence, and reasoning
Communications of the ACM
Decision procedures for automating termination proofs
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
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
Size invariant and ranking function synthesis in a functional language
WFLP'11 Proceedings of the 20th international conference on Functional and constraint logic programming
Advanced Ramsey-based Büchi automata inclusion testing
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
Bound analysis of imperative programs with the size-change abstraction
SAS'11 Proceedings of the 18th international conference on Static analysis
Size-change termination and satisfiability for linear-time temporal logics
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
Testing for termination with monotonicity constraints
ICLP'05 Proceedings of the 21st international conference on Logic Programming
A characterization of alternating log time by first order functional programs
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
CIC∧: type-based termination of recursive definitions in the calculus of inductive constructions
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
A proof system for the linear time μ-calculus
FSTTCS'06 Proceedings of the 26th international conference on Foundations of Software Technology and Theoretical Computer Science
Calculating polynomial runtime properties
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Termination analysis of higher-order functional programs
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Resource analysis by sup-interpretation
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Size-Change termination and bound analysis
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Recursive path orderings can also be incremental
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Hybrid contract checking via symbolic simplification
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Towards scalable partial evaluation of declarative programs
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Termination of polynomial programs
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
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
AProVE 1.2: automatic termination proofs in the dependency pair framework
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Partial recursive functions in higher-order logic
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Termination analysis with compositional transition invariants
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Simulation subsumption in ramsey-based büchi automata universality and inclusion testing
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Linear ranking with reachability
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Orderings for innermost termination
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Automated termination analysis for Haskell: from term rewriting to programming languages
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
Proving liveness by backwards reachability
CONCUR'06 Proceedings of the 17th international conference on Concurrency Theory
Fast and accurate strong termination analysis with an application to partial evaluation
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
Efficient büchi universality checking
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Interactive termination proofs using termination cores
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
The flow of data and the complexity of algorithms
CiE'05 Proceedings of the First international conference on Computability in Europe: new Computational Paradigms
Size-Change termination analysis in k-bits
ESOP'06 Proceedings of the 15th European conference on Programming Languages and 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
On the termination of integer loops
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Ramsey-Based analysis of parity automata
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Automated termination proofs for Java programs with cyclic data
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Agda-curious?: an exploration of programming with dependent types
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
On the Termination of Integer Loops
ACM Transactions on Programming Languages and Systems (TOPLAS)
Non-termination sets of simple linear loops
ICTAC'12 Proceedings of the 9th international conference on Theoretical Aspects of Computing
Binary reachability analysis of higher order functional programs
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
Advanced automata minimization
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ramsey vs. lexicographic termination proving
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Loop summarization using state and transition invariants
Formal Methods in System Design
ICALP'13 Proceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part II
Proving termination starting from the end
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Better termination proving through cooperation
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Science of Computer Programming
Hi-index | 0.02 |
The "size-change termination" principle for a first-order functional language with well-founded data is: a program terminates on all inputs if every infinite call sequence (following program control flow) would cause an infinite descent in some data values.Size-change analysis is based only on local approximations to parameter size changes derivable from program syntax. The set of infinite call sequences that follow program flow and can be recognized as causing infinite descent is an ω-regular set, representable by a Büchi automaton. Algorithms for such automata can be used to decide size-change termination. We also give a direct algorithm operating on "size-change graphs" (without the passage to automata).Compared to other results in the literature, termination analysis based on the size-change principle is surprisingly simple and general: lexical orders (also called lexicographic orders), indirect function calls and permuted arguments (descent that is not in-situ) are all handled automatically and without special treatment, with no need for manually supplied argument orders, or theorem-proving methods not certain to terminate at analysis time.We establish the problem's intrinsic complexity. This turns out to be surprisingly high, complete for PSPACE, in spite of the simplicity of the principle. PSPACE hardness is proved by a reduction from Boolean program termination. An ineresting consequence: the same hardness result applies to many other analyses found in the termination and quasitermination literature.