The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Journal of the ACM (JACM)
ACE: an automatic complexity evaluator
ACM Transactions on Programming Languages and Systems (TOPLAS)
Strictness analysis aids time analysis
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Partial evaluation in logic programming
Journal of Logic Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM
Automatic time-bound analysis for a higher-order language
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
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
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Static prediction of heap space usage for first-order functional programs
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An Introduction to Partial Deduction
META-92 Proceedings of the 3rd International Workshop on Meta-Programming in Logic
The essence of computation
A framework for the integration of partial evaluation and abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automated higher-order complexity analysis
Theoretical Computer Science - Implicit computational complexity
Self-tuning resource aware specialisation for prolog
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Program transformation by solving recurrences
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Certifying Polynomial Time and Linear/Polynomial Space for Imperative Programs
SIAM Journal on Computing
Poly-controlled partial evaluation
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Logic program specialisation through partial deduction: Control issues
Theory and Practice of Logic Programming
Experiments in Cost Analysis of Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
Heap space analysis for java bytecode
Proceedings of the 6th international symposium on Memory management
Size-change termination with difference constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
Linear, Polynomial or Exponential? Complexity Inference in Polynomial Time
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
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
Automatic Inference of Upper Bounds for Recurrence Relations in Cost Analysis
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Live heap space analysis for languages with garbage collection
Proceedings of the 2009 international symposium on Memory management
Sup-interpretations, a semantic method for static analysis of program resources
ACM Transactions on Computational Logic (TOCL)
Cost Relation Systems: A Language-Independent Target Language for Cost Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Resource Usage Analysis and Its Application to Resource Certification
Foundations of Security Analysis and Design V
Cost analysis of java bytecode
ESOP'07 Proceedings of the 16th European conference on Programming
User-definable resource bounds analysis for logic programs
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Comparing cost functions in resource analysis
FOPARA'09 Proceedings of the First international conference on Foundational and practical aspects of resource analysis
Mobile resource guarantees for smart devices
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Termination of integer linear programs
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Enforcing resource bounds via static verification of dynamic checks
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Quasi-interpretations and small space bounds
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
The flow of data and the complexity of algorithms
CiE'05 Proceedings of the First international conference on Computability in Europe: new Computational Paradigms
Verified resource guarantees using COSTA and KeY
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
More precise yet widely applicable cost analysis
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Task-level analysis for a language with async/finish parallelism
Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Simulating concurrent behaviors with worst-case cost bounds
FM'11 Proceedings of the 17th international conference on Formal methods
Handling Non-linear Operations in the Value Analysis of COSTA
Electronic Notes in Theoretical Computer Science (ENTCS)
Cost analysis of object-oriented bytecode programs
Theoretical Computer Science
Incremental resource usage analysis
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Cost analysis of concurrent OO programs
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Automatic inference of resource consumption bounds
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Verified resource guarantees for heap manipulating programs
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Symbolic loop bound computation for WCET analysis
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Multivariate amortized resource analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interpolation-Based height analysis for improving a recurrence solver
FOPARA'11 Proceedings of the Second international conference on Foundational and Practical Aspects of Resource Analysis
Counter automata for parameterised timing analysis of box-based systems
FOPARA'11 Proceedings of the Second international conference on Foundational and Practical Aspects of Resource Analysis
A formal model of user-defined resources in resource-restricted deployment scenarios
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
Towards product configuration taking into account quality concerns
Proceedings of the 16th International Software Product Line Conference - Volume 2
Making resource analysis practical for real-time Java
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
On the limits of the classical approach to cost analysis
SAS'12 Proceedings of the 19th international conference on Static Analysis
A static cost analysis for a higher-order language
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
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
Automatic type inference for amortised heap-space analysis
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Ten years of amortized resource analysis
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Automatic synthesis of out-of-core algorithms
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
On the Inference of Resource Usage Upper and Lower Bounds
ACM Transactions on Computational Logic (TOCL)
Hi-index | 0.00 |
The classical approach to automatic cost analysis consists of two phases. Given a program and some measure of cost, the analysis first produces cost relations (CRs), i.e., recursive equations which capture the cost of the program in terms of the size of its input data. Second, CRs are converted into closed-form, i.e., without recurrences. Whereas the first phase has received considerable attention, with a number of cost analyses available for a variety of programming languages, the second phase has been comparatively less studied. This article presents, to our knowledge, the first practical framework for the generation of closed-form upper bounds for CRs which (1) is fully automatic, (2) can handle the distinctive features of CRs, originating from cost analysis of realistic programming languages, (3) is not restricted to simple complexity classes, and (4) produces reasonably accurate solutions. A key idea in our approach is to view CRs as programs, which allows applying semantic-based static analyses and transformations to bound them, namely our method is based on the inference of ranking functions and loop invariants and on the use of partial evaluation.