Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us Track your research
Search
Cart
Book cover

European Symposium on Programming

ESOP 2007: Programming Languages and Systems pp 157–172Cite as

  1. Home
  2. Programming Languages and Systems
  3. Conference paper
Cost Analysis of Java Bytecode

Cost Analysis of Java Bytecode

  • E. Albert1,
  • P. Arenas1,
  • S. Genaim2,
  • G. Puebla2 &
  • …
  • D. Zanardini2 
  • Conference paper
  • 1407 Accesses

  • 69 Citations

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 4421)

Abstract

Cost analysis of Java bytecode is complicated by its unstructured control flow, the use of an operand stack and its object-oriented programming features (like dynamic dispatching). This paper addresses these problems and develops a generic framework for the automatic cost analysis of sequential Java bytecode. Our method generates cost relations which define at compile-time the cost of programs as a function of their input data size. To the best of our knowledge, this is the first approach to the automatic cost analysis of Java bytecode.

Keywords

  • Cost Analysis
  • Cost Relation
  • Recurrence Equation
  • Program Point
  • Method Invocation

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Chapter PDF

Download to read the full chapter text

References

  1. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers - Principles, Techniques and Tools. Addison-Wesley, Reading (1986)

    Google Scholar 

  2. Albert, E., Puebla, G., Hermenegildo, M.: Abstraction-Carrying Code. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 380–397. Springer, Heidelberg (2005)

    Google Scholar 

  3. Aspinall, D., et al.: Mobile Resource Guarantees for Smart Devices. In: Barthe, G., et al. (eds.) CASSIS 2004. LNCS, vol. 3362, Springer, Heidelberg (2005)

    Google Scholar 

  4. Barthe, G., et al.: Mobius: Mobility, ubiquity, security: Objectives and progress report. In: Montanari, U., Sannella, D., Bruni, R. (eds.) TGC 2007. LNCS, vol. 4661, Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

  5. Benzinger, R.: Automated higher-order complexity analysis. Theor. Comput. Sci. 318(1-2) (2004)

    Google Scholar 

  6. Cachera, D., et al.: Certified memory usage analysis. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, Springer, Heidelberg (2005)

    Google Scholar 

  7. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proc. POPL, ACM Press, New York (1978)

    Google Scholar 

  8. Crary, K., Weirich, S.: Resource bound certification. In: POPL, ACM Press, New York (2000)

    Google Scholar 

  9. Cytron, R., et al.: Efficiently computing static single assignment form and the control dependence graph. TOPLAS 13(4) (1991)

    Google Scholar 

  10. Debray, S.K., Lin, N.W.: Cost analysis of logic programs. TOPLAS 15(5) (1993)

    Google Scholar 

  11. Debray, S.K., et al.: Lower Bound Cost Estimation for Logic Programs. In: Proc. ILPS’97, MIT Press, Cambridge (1997)

    Google Scholar 

  12. Gomez, G., Liu, Y.A.: Automatic time-bound analysis for a higher-order language. In: Proc. of PEPM, ACM Press, New York (2002)

    Google Scholar 

  13. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)

    Google Scholar 

  14. Puebla, G., et al.: Combining Static Analysis and Profiling for Estimating Execution Times. In: Hanus, M. (ed.) PADL 2007. LNCS, vol. 4354, pp. 140–154. Springer, Heidelberg (2006)

    Google Scholar 

  15. Necula, G.: Proof-Carrying Code. In: POPL’97, ACM Press, New York (1997)

    Google Scholar 

  16. Rabhi, F.A., Manson, G.A.: Using Complexity Functions to Control Parallelism in Functional Programs. TR. CS-90-1, Dept. of C.S., Univ. of Sheffield, UK (1990)

    Google Scholar 

  17. Rosendhal, M.: Automatic Complexity Analysis. In: Proc. FPCA, ACM Press, New York (1989)

    Google Scholar 

  18. Sands, D.: A naïve time analysis and its theory of cost equivalence. J. Log. Comput. 5(4) (1995)

    Google Scholar 

  19. Spoto, F.: Julia: A Generic Static Analyser for the Java Bytecode. In: Proc. of the 7th Workshop on Formal Techniques for Java-like Programs, FTfJP’, Glasgow, Scotland, July 2005. (2005), Available at www.sci.univr.it/~spoto/papers.html

  20. Spoto, F., Hill, P.M., Payet, E.: Path-length analysis for object-oriented programs. In: Proc. EAAI (2006)

    Google Scholar 

  21. Tip, F.: A Survey of Program Slicing Techniques. J. of Prog. Lang. 3 (1995)

    Google Scholar 

  22. Wilf, H.S.: Algorithms and Complexity. A.K. Peters, Wellesley (2002)

    MATH  Google Scholar 

  23. Wilhelm, R.: Timing Analysis and Timing Predictability. In: de Boer, F.S., et al. (eds.) FMCO 2004. LNCS, vol. 3657, pp. 317–323. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

  1. DSIC, Complutense University of Madrid, E-28040 Madrid, Spain

    E. Albert & P. Arenas

  2. CLIP, Technical University of Madrid, E-28660 Boadilla del Monte, Madrid, Spain

    S. Genaim, G. Puebla & D. Zanardini

Authors
  1. E. Albert
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. P. Arenas
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. S. Genaim
    View author publications

    You can also search for this author in PubMed Google Scholar

  4. G. Puebla
    View author publications

    You can also search for this author in PubMed Google Scholar

  5. D. Zanardini
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Rocco De Nicola

Rights and permissions

Reprints and Permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D. (2007). Cost Analysis of Java Bytecode. In: De Nicola, R. (eds) Programming Languages and Systems. ESOP 2007. Lecture Notes in Computer Science, vol 4421. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71316-6_12

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-540-71316-6_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71314-2

  • Online ISBN: 978-3-540-71316-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Publish with us

Policies and ethics

search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Cancel contracts here

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature