ACE: an automatic complexity evaluator
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A methodology for granularity-based control of parallelism in logic programs
Journal of Symbolic Computation - Special issue on parallel symbolic computation
Lower bound cost estimation for logic programs
ILPS '97 Proceedings of the 1997 international symposium on Logic programming
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Points-to analysis for Java using annotated constraints
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Cost recurrences for DML programs
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Java Virtual Machine Specification
Java Virtual Machine Specification
Algorithms and Complexity
Flow-Insensitive Interprocedural Alias Analysis in the Presence of Pointers
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Java Virtual-Machine Support for Portable Worst-Case Execution-Time Analysis
ISORC '02 Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Automated higher-order complexity analysis
Theoretical Computer Science - Implicit computational complexity
Abstraction carrying code and resource-awareness
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Self-tuning resource aware specialisation for prolog
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Poly-controlled partial evaluation
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Energy consumption analysis for two embedded Java virtual machines
Journal of Systems Architecture: the EUROMICRO Journal
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
Automatic Identification of Timing Anomalies for Cycle-Accurate Worst-Case Execution Time Analysis
DDECS '06 Proceedings of the 2006 IEEE Design and Diagnostics of Electronic Circuits and systems
Cost analysis of java bytecode
ESOP'07 Proceedings of the 16th European conference on Programming
Precise set sharing analysis for Java-style programs
VMCAI'08 Proceedings of the 9th international conference on Verification, model checking, and abstract interpretation
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
Enforcing resource bounds via static verification of dynamic checks
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Inferring cost equations for recursive, polymorphic and higher-order functional programs
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Handling Non-linear Operations in the Value Analysis of COSTA
Electronic Notes in Theoretical Computer Science (ENTCS)
Iterative mining of resource-releasing specifications
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Interval-Based resource usage verification: formalization and prototype
FOPARA'11 Proceedings of the Second international conference on Foundational and Practical Aspects of Resource Analysis
Hi-index | 0.00 |
Automatic cost analysis of programs has been traditionally concentrated on a reduced number of resources such as execution steps, time, or memory. However, the increasing relevance of analysis applications such as static debugging and/or certification of user-level properties (including for mobile code) makes it interesting to develop analyses for resource notions that are actually application-dependent. This may include, for example, bytes sent or received by an application, number of files left open, number of SMSs sent or received, number of accesses to a database, money spent, energy consumption, etc. We present a fully automated analysis for inferring upper bounds on the usage that a Java bytecode program makes of a set of application programmer-definable resources. In our context, a resource is defined by programmer-provided annotations which state the basic consumption that certain program elements make of that resource. From these definitions our analysis derives functions which return an upper bound on the usage that the whole program (and individual blocks) make of that resource for any given set of input data sizes. The analysis proposed is independent of the particular resource. We also present some experimental results from a prototype implementation of the approach covering a significant set of interesting resources.