Abstract
The prediction of resource consumption in programs has gained interest in the last years. It is important for a number of areas, notably embedded systems and safety critical systems. Different approaches to achieve bounded resource consumption have been analysed. One of them, based on an amortised complexity analysis, has been studied by Hofmann and Jost in 2006 for a Java-like language.
In this paper we present an extension of this type system consisting of more general subtyping and sharing relations that allows us to type more examples. Moreover we describe efficient automated type-checking for a finite, annotated version of the system. We prove soundness and completeness of the type checking algorithm and show its efficiency.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: COSTA: Design and implementation of a cost and termination analyzer for java bytecode. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2007. LNCS, vol. 5382, pp. 113–132. Springer, Heidelberg (2008)
Campbell, B.: Type-based amortized stack memory prediction. PhD thesis, University of Edinburgh (2008)
Degen, M., Thiemann, P., Wehr, S.: Tracking linear and affine resources with java(X). In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 550–574. Springer, Heidelberg (2007)
Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: The 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1998), New York, January 1998, pp. 171–183. Association for Computing Machinery (1998)
Gómez, G., Liu, Y.A.: Automatic accurate time-bound analysis for high-level languages. In: Müller, F., Bestavros, A. (eds.) LCTES 1998. LNCS, vol. 1474, p. 31. Springer, Heidelberg (1998)
Gulwani, S., Mehra, K.K., Chilimbi, T.M.: SPEED: precise and efficient static estimation of program computational complexity. In: Shao, Z., Pierce, B.C. (eds.) POPL, pp. 127–139. ACM Press, New York (2009)
Grobauer, B.: Topics in Semantics-based Program Manipulation. PhD thesis, BRICS Aarhus (2001)
Herrmann, C.A., Bonenfant, A., Hammond, K., Jost, S., Loidl, H.-W., Pointon, R.: Automatic amortised worst-case execution time analysis. In: 7th Int’l Workshop on Worst-Case Execution Time (WCET) Analysis, Proceedings, pp. 13–18 (2007)
Hammond, K., Dyckhoff, R., Ferdinand, C., Heckmann, R., Hofmann, M., Jost, S., Loidl, H.-W., Michaelson, G., Pointon, R.F., Scaife, N., Srot, J., Wallace, A.: The embounded project (project start paper). In: van Eekelen, M.C.J.D. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 6, pp. 195–210. Intellect (2005)
Hofmann, M., Jost, S.: Static prediction of heap space usage for first-order functional programs. In: POPL: 30th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (2003)
Hofmann, M.O., Jost, S.: Type-based amortised heap-space analysis. In: Sestoft, P. (ed.) ESOP 2006. LNCS, vol. 3924, pp. 22–37. Springer, Heidelberg (2006)
Hofmann, M., Jost, S., Rodriguez, D.: Type-based amortised heap space analysis (complete soundness proof), http://raja.tcs.ifi.lmu.de/download/files/rajaSoundProof.pdf
Hughes, J., Pareto, L.: Recursion and dynamic data-structures in bounded space, June 21 (1999)
Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. In: Meissner, L. (ed.) Proceedings of the 1999 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA 1999), N.Y., vol. 34(10), pp. 132–146 (1999)
Marion, J.-Y., Péchoux, R.: Resource control of object-oriented programs. CoRR, abs/0706.2293, informal publication (2007)
Nguyen, H.H., Chin, W.N., Qin, S., Rinard, M.C.: Memory usage inference for object-oriented programs (January 2005)
Okasaki, C.: Purely Functional Data Structures. Cambridge University Press, Cambridge (1998)
Tarjan, R.E.: Amortized computational complexity. SIAM Journal on Algebraic and Discrete Methods 6(2), 306–318 (1985)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hofmann, M., Rodriguez, D. (2009). Efficient Type-Checking for Amortised Heap-Space Analysis. In: Grädel, E., Kahle, R. (eds) Computer Science Logic. CSL 2009. Lecture Notes in Computer Science, vol 5771. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04027-6_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-04027-6_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04026-9
Online ISBN: 978-3-642-04027-6
eBook Packages: Computer ScienceComputer Science (R0)