Theory of linear and integer programming
Theory of linear and integer programming
Efficient tests for top-down termination of logical rules
Journal of the ACM (JACM)
Termination proofs for logic programs
Termination proofs for logic programs
Termination detection in logic programs using argument sizes (extended abstract)
PODS '91 Proceedings of the tenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Inference of inequality constraints in logic programs (extended abstracts)
PODS '91 Proceedings of the tenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
A practical algorithm for exact array dependence analysis
Communications of the ACM
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Transitive closure of infinite graphs and its applications
Transitive closure of infinite graphs and its applications
Proving the correctness of reactive systems using sized types
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A bounds inference method for vector-based memoization
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Verification of Real-Time Systems using Linear Relation Analysis
Formal Methods in System Design - Special issue on computer aided verification (CAV 93)
Lower-bound time-complexity analysis of logic programs
ILPS '97 Proceedings of the 1997 international symposium on Logic programming
Eliminating array bound checking through dependent types
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
About synchronous programming and abstract interpretation
Science of Computer Programming
Type inference with constrained types
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
ESOP '92 Proceedings of the 4th European Symposium on Programming
BTA Algorithms to Ensure Termination of Off-Line Partial Evaluation
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Inferring Argument Size Relationships with CLP(R)
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Termination Analysis for Mercury
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Cost recurrences for DML programs
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Output-constraint specialization
ASIA-PEPM '02 Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
Dependent Types for Program Termination Verification
Higher-Order and Symbolic Computation
Program Generation, Termination, and Binding-Time Analysis
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Extending sized type with collection analysis
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Type-based termination of recursive definitions
Mathematical Structures in Computer Science
Program Adaptation via Output-Constraint Specialization
Higher-Order and Symbolic Computation
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inferring Static Non-monotone Size-aware Types Through Testing
Electronic Notes in Theoretical Computer Science (ENTCS)
The Computability Path Ordering: The End of a Quest
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
Type-Based Termination with Sized Products
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
Amortised Memory Analysis Using the Depth of Data Structures
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
"Carbon Credits" for Resource-Bounded Computations Using Amortised Analysis
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Dependent types from counterexamples
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static determination of quantitative resource usage for higher-order programs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Cost analysis using automatic size and time inference
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Using intersection types for cost-analysis of higher-order polymorphic functional programs
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Improvements to a resource analysis for hume
FOPARA'09 Proceedings of the First international conference on Foundational and practical aspects of resource analysis
Multivariate amortized resource analysis
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Amortized resource analysis with polymorphic recursion and partial big-step operational semantics
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Predicate abstraction and CEGAR for higher-order model checking
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Transitive closures of affine integer tuple relations and their overapproximations
SAS'11 Proceedings of the 18th international conference on Static analysis
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
Practical inference for type-based termination in a polymorphic setting
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Decidability of type-checking in the calculus of algebraic constructions with size annotations
CSL'05 Proceedings of the 19th international conference on Computer Science Logic
Inferring cost equations for recursive, polymorphic and higher-order functional programs
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Multivariate amortized resource analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic synthesis of out-of-core algorithms
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Hi-index | 0.00 |
Many program optimizations and analyses, such as array-bounds checking, termination analysis, etc., depend on knowing the size of a function's input and output. However, size information can be difficult to compute. Firstly, accurate size computation requires detecting a size relation between different inputs of a function. Secondly, different optimizations and analyses may require slightly different size information, and thus slightly different computation. Literature in size computation has mainly concentrated on size checking, instead of size inference. In this paper, we provide a generic framework on which different size variants can be expressed and computed. We also describe an effective algorithm for inferring, instead of checking, size information. Size information are expressed in terms of Presburger formulae, and our algorithm utilizes the Omega Calculator to compute as exact a size information as possible, within the linear arithmetic capability.