Abstract
We present a separate compositional analysis for object-oriented languages. We show how a generic static analysis of a context that uses an object can be split into two separate semantic functions involving respectively only the context and the object. The fundamental idea is to use a regular expressions for approximating the interactions between the context and the object. Then, we introduce an iterative schema for composing the two semantic functions. A first advantage is that the analysis can be parallelized, with a consequent gain in memory and time. Furthermore, the iteration process returns at each step an upper approximation of the concrete semantics, so that the iterations can be stopped as soon as the desired degree of precision is reached. Finally, we instantiate our approach to a core object-oriented language with aliasing.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Cousot, P.: Asynchronous iterative methods for solving a fixed point system of monotone equations in a complete lattice. Technical Report R.R. 88, Laboratoire IMAG, Université scientifique et médicale de Grenoble (1977)
Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL 1977, ACM Press, New York (1977)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL 1978, ACM Press, New York (1978)
Logozzo, F.: Class-level modular analysis for object oriented languages. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, Springer, Heidelberg (2003)
Logozzo, F.: Automatic inference of class invariants. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 211–222. Springer, Heidelberg (2004)
Logozzo, F.: Modular Static Analysis of Object Oriented Languages. PhD thesis, École Polytechnique, France (2004) (to appear)
Pollet, I., Le Charlier, B., Cortesi, A.: Distinctness and sharing domains for static analysis of Java programs. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 77. Springer, Heidelberg (2001)
Rountev, A., Milanova, A., Ryder, B.G.: Fragment class analysis for testing of polymorphism in Java software. In: ICSE 2003, IEEE Press, Los Alamitos (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Logozzo, F. (2004). Separate Compositional Analysis of Class-Based Object-Oriented Languages. In: Rattray, C., Maharaj, S., Shankland, C. (eds) Algebraic Methodology and Software Technology. AMAST 2004. Lecture Notes in Computer Science, vol 3116. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27815-3_27
Download citation
DOI: https://doi.org/10.1007/978-3-540-27815-3_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22381-8
Online ISBN: 978-3-540-27815-3
eBook Packages: Springer Book Archive