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.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers - Principles, Techniques and Tools. Addison-Wesley, Reading (1986)
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)
Aspinall, D., et al.: Mobile Resource Guarantees for Smart Devices. In: Barthe, G., et al. (eds.) CASSIS 2004. LNCS, vol. 3362, Springer, Heidelberg (2005)
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)
Benzinger, R.: Automated higher-order complexity analysis. Theor. Comput. Sci. 318(1-2) (2004)
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)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proc. POPL, ACM Press, New York (1978)
Crary, K., Weirich, S.: Resource bound certification. In: POPL, ACM Press, New York (2000)
Cytron, R., et al.: Efficiently computing static single assignment form and the control dependence graph. TOPLASÂ 13(4) (1991)
Debray, S.K., Lin, N.W.: Cost analysis of logic programs. TOPLASÂ 15(5) (1993)
Debray, S.K., et al.: Lower Bound Cost Estimation for Logic Programs. In: Proc. ILPS’97, MIT Press, Cambridge (1997)
Gomez, G., Liu, Y.A.: Automatic time-bound analysis for a higher-order language. In: Proc. of PEPM, ACM Press, New York (2002)
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)
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)
Necula, G.: Proof-Carrying Code. In: POPL’97, ACM Press, New York (1997)
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)
Rosendhal, M.: Automatic Complexity Analysis. In: Proc. FPCA, ACM Press, New York (1989)
Sands, D.: A naïve time analysis and its theory of cost equivalence. J. Log. Comput. 5(4) (1995)
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
Spoto, F., Hill, P.M., Payet, E.: Path-length analysis for object-oriented programs. In: Proc. EAAI (2006)
Tip, F.: A Survey of Program Slicing Techniques. J. of Prog. Lang. 3 (1995)
Wilf, H.S.: Algorithms and Complexity. A.K. Peters, Wellesley (2002)
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)
Author information
Authors and Affiliations
Editor information
Rights 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
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)