A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
A System for Assisting Program Transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the Development of the Algebra of Functional Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer-assisted microanalysis of programs
Communications of the ACM
Communications of the ACM
Communications of the ACM
Inductive methods for proving properties of programs
Communications of the ACM
The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information
The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information
Discrete Mathematics in Computer Science
Discrete Mathematics in Computer Science
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Proceedings of the International Colloquium on Formalization of Programming Concepts
FP with data abstraction and strong typing
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Task granularity analysis in logic programs
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Polymorphic time systems for estimating program complexity
ACM Letters on Programming Languages and Systems (LOPLAS)
ICSE '92 Proceedings of the 14th international conference on Software engineering
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Static dependent costs for estimating execution time
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Using the run-time sizes of data structures to guide parallel-thread creation
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Abstract interpretation and low-level code optimization
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Automatic Accurate Live Memory Analysis for Garbage-Collected Languages
OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
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
Cost recurrences for DML programs
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Automatic Accurate Cost-Bound Analysis for High-Level Languages
IEEE Transactions on Computers
Operational semantics of termination types
Nordic Journal of Computing
Optimized Live Heap Bound Analysis
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Automated complexity analysis of Nuprl extracted programs
Journal of Functional Programming
Automated higher-order complexity analysis
Theoretical Computer Science - Implicit computational complexity
Incrementalization across object abstraction
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Towards an automatic complexity analysis for generic programs
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Measuring empirical computational complexity
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Automatic Inference of Upper Bounds for Recurrence Relations in Cost Analysis
SAS '08 Proceedings of the 15th international symposium on Static Analysis
SPEED: precise and efficient static estimation of program computational complexity
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Parametric heap usage analysis for functional programs
Proceedings of the 2009 international symposium on Memory management
SPEED: Symbolic Complexity Bound Analysis
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Cost Relation Systems: A Language-Independent Target Language for Cost Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
User-Definable Resource Usage Bounds Analysis for Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
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
User-definable resource bounds analysis for logic programs
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Closed-Form Upper Bounds in Static Cost Analysis
Journal of Automated Reasoning
Cost analysis of object-oriented bytecode programs
Theoretical Computer Science
Inferring cost equations for recursive, polymorphic and higher-order functional programs
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Multivariate amortized resource analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
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 Inference of Resource Usage Upper and Lower Bounds
ACM Transactions on Computational Logic (TOCL)
EuroVis '13 Proceedings of the 15th Eurographics Conference on Visualization
Hi-index | 0.00 |
There has been a great deal of research done on the evaluation of the complexity of particular algorithms; little effort, however, has been devoted to the mechanization of this evaluation. The ACE (Automatic Complexity Evaluator) system is able to analyze reasonably large programs, like sorting programs, in a fully mechanical way. A time-complexity function is derived from the initial functional program. This function is transformed into its nonrecursive equivalent according to MacCarthy's recursion induction principle, using a predefined library of recursive definitions. As the complexity is not a decidable property, this transformation will not be possible in all cases. The richer the predefined library is, the more likely the system is to succeed. The operations performed by ACE are described and the use of the system is illustrated with the analysis of a sorting algorithm. Related works and further improvements are discussed in the conclusion.