Class hierarchy specialization
- 9 October 1997
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 32 (10), 271-285
- https://doi.org/10.1145/263700.263748
Abstract
Class libraries are generally designed with an emphasis on versatility and extensibility. Applications that use a library typically exercise only part of the library's functionality. As a result, objects created by the application may contain unused members. We present an algorithm that specializes a class hierarchy with respect to its usage in a program P. That is, the algorithm analyzes the member access patterns for P's variables, and creates distinct classes for variables that access different members. Class hierarchy specialization reduces object size, and is hence primarily a space optimization. However, execution time may also be reduced through reduced object creation/destruction time, and caching/paging effects.Keywords
This publication has 14 references indexed in Scilit:
- LackwitPublished by Association for Computing Machinery (ACM) ,1997
- Fast static analysis of C++ virtual function callsACM SIGPLAN Notices, 1996
- Simple and effective analysis of statically-typed object-oriented programsACM SIGPLAN Notices, 1996
- Automatic inheritance hierarchy restructuring and method refactoringACM SIGPLAN Notices, 1996
- Slicing class hierarchies in C++ACM SIGPLAN Notices, 1996
- Points-to analysis in almost linear timePublished by Association for Computing Machinery (ACM) ,1996
- An algebraic semantics of subobjectsACM SIGPLAN Notices, 1995
- Sifting out the goldACM SIGPLAN Notices, 1994
- Creating abstract superclasses by refactoringPublished by Association for Computing Machinery (ACM) ,1993
- Unreachable procedures in object-oriented programmingACM Letters on Programming Languages and Systems, 1992