Abstract
We use abstract interpretation to define a uniform formalism for presenting and comparing class analyses for object-oriented languages. We consider three domains for class analysis derived from three techniques present in the literature, viz., rapid type analysis, a simple dataflow analysis and constraint-based 0-CFA analysis. We obtain three static analyses which are provably correct and whose abstract operations are provably optimal. Moreover, we prove that our formalisation of the 0-CFA analysis is more precise than that of the dataflow analysis.
Chapter PDF
Similar content being viewed by others
References
O. Agesen. Constraint-Based Type Inference and Parametric Polymorphism. In B. Le Charlier, editor, Proc. of the 1st Int. Static Analysis Symp., volume 864 of Lecture Notes in Computer Science, pages 78–100. Springer-Verlag, 1994.
D. F. Bacon and P. F. Sweeney. Fast Static Analysis of C++ Virtual Function Calls. In Proc. of OOPSLA’96, volume 31(10) of ACM SIGPLAN Notices, pages 324–341, New York, 1996. ACM Press.
P. Bertelsen. Semantics of Java Byte Code. Technical report, Department of Information Technology, Technical University of Denmark, March 1997.
E. Borger and W. Schulte. Defining the Java Virtual Machine as Platform for Provably Correct Java Compilation. In L. Brim, J. Grunska, and J. Zlatusla, editors, 23rd Int. Symp. on Mathematical Foundations of Computer Science. Springer LNCS vol. 1450, 1998.
A. Cortesi, G. Filé, and W. Winsborough. The Quotient of an Abstract Interpretation. Theoretical Computer Science, 202(1-2):163–192, 1998.
P. Cousot. Constructive Design of a Hierarchy of Semantics of a Transition System by Abstract Interpretation. In S. Brookes and M. Mislove, editors, 13th Conf. on Math. Found. of Programming Semantics, volume 6 of Electronic Notes on Theoretical Computer Science, Pittsburgh, PA, USA, March 1997. Elsevier Science Publishers. Available at http://www.elsevier.nl/locate/entcs/volume6.html.
P. Cousot. Types as Abstract Interpretations. In 24th ACM Symposium on Principles of Programming Languages (POPL’97), pages 316–331. ACM Press, 1997.
P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In 4th ACM Symp. on Principles of Programming Languages, pages 238–252, 1977.
P. Cousot and R. Cousot. Systematic Design of Program Analysis Frameworks. In 6th ACM Symp. on Principles of Programming Languages, pages 269–282, 1979.
A. Diwan, J. E. B. Moss, and K. S. McKinley. Simple and Effective Analysis of Statically Typed Object-Oriented Programs. In Proc. of OOPSLA’96, volume 31(10) of ACM SIGPLAN Notices, pages 292–305, New York, 1996. ACM Press.
J. Palsberg and M. I. Schwartzbach. Object-Oriented Type Inference. In Proc. of OOPSLA’91, volume 26(11) of ACM SIGPLAN Notices, pages 146–161. ACM Press, November 1991.
J. Plevyak and A. A. Chien. Precise Concrete Type Inference for Object-Oriented Languages. In Proc. of OOPSLA’94, volume 29(10) of ACM SIGPLAN Notices, pages 324–340. ACM Press, October 1994.
O. Shivers. Control-Flow Analysis in Scheme. In Proc. of the 1988 Conf. on Programming Languages Design and Implementation, volume 23(7) of ACM SIGPLAN Notices, pages 164–174. ACM Press, July 1988.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jensen, T., Spoto, F. (2001). Class Analysis of Object-Oriented Programs through Abstract Interpretation. In: Honsell, F., Miculan, M. (eds) Foundations of Software Science and Computation Structures. FoSSaCS 2001. Lecture Notes in Computer Science, vol 2030. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45315-6_17
Download citation
DOI: https://doi.org/10.1007/3-540-45315-6_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41864-1
Online ISBN: 978-3-540-45315-4
eBook Packages: Springer Book Archive