Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
Algorithms and Complexity
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Abstraction carrying code and resource-awareness
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Cost analysis of java bytecode
ESOP'07 Proceedings of the 16th European conference on Programming
Inferring cost equations for recursive, polymorphic and higher-order functional programs
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Heap space analysis for java bytecode
Proceedings of the 6th international symposium on Memory management
Removing useless variables in cost analysis of Java bytecode
Proceedings of the 2008 ACM symposium on Applied computing
Performance Prediction for Black-Box Components Using Reengineered Parametric Behaviour Models
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
Platform Independent Timing of Java Virtual Machine Bytecode Instructions
Electronic Notes in Theoretical Computer Science (ENTCS)
User-Definable Resource Usage Bounds Analysis for Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
Closed-Form Upper Bounds in Static Cost Analysis
Journal of Automated Reasoning
Cost analysis of object-oriented bytecode programs
Theoretical Computer Science
A hybrid approach for resource-based comparison of adaptable Java applications
Science of Computer Programming
Hi-index | 0.00 |
Recently, we proposed a general framework for the cost analysis of Java bytecode which can be used for measuring resource usage. This analysis generates, at compile-time, cost relations which define the cost of programs as a function of their input data size. The purpose of this paper is to assess the practicality of such cost analysis by experimentally evaluating a prototype analyzer implemented in Ciao. With this aim, we approximate the computational complexity of a set of selected benchmarks, including both well-known algorithms which have been used to evaluate existing cost analyzers in other programming paradigms, and other benchmarks which illustrate object-oriented features. In our evaluation, we first study whether the generated cost relations can be automatically solved. Our experiments show that in some cases the inferred cost relations can be automatically solved by using the Mathematica system, whereas, in other cases, some prior manipulation is required for the equations to be solvable. Moreover, we experimentally evaluated the running time of the different phases of the analysis process. Overall, we believe our experiments show that the efficiency of our cost analysis is acceptable, and that the obtained cost relations are useful in practice since, at least in our experiments, it is possible to get a closed form solution.