Chianti: A change impact analysis tool for programs
Xiaoxia Ren, Barbara G. Ryder, et al.
ICSE 2005
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.
Xiaoxia Ren, Barbara G. Ryder, et al.
ICSE 2005
Matthias Hauswirth, Peter F. Sweeney, et al.
OOPSLA 2004
Adam Kiezun, Michael D. Ernst, et al.
ICSE 2007
Augusto Born De Oliveira, Sebastian Fischmeister, et al.
ICST 2017