The effectiveness of control flow and data flow-based testing techniques is unclear in the object-oriented programming domain where object-oriented design principles result in programs with a structure that differs significantly from the imperative programs originally targeted by these methods. The novel characteristics of object-oriented software are primarily due to classes, inheritance, polymorphism and dynamic binding. Applications consist of a set of classes (with a main program or main class), which contain calls to methods within these classes as well as calls to methods in classes written by others. A programmer may design and implement just a single class or library as their designated programming goal, without a specific targeted application which will use the class. The context of the class is often unknown. Moreover, the order in which methods of the class will be called from client applications is unknown.
This research explores a novel formulation of definitions and uses of objects that exploits the relationships that occur between classes through object-oriented design. An object-based program representation, which is an extension of a program representation utilized for compiler optimization, enables the automatic generation of the contextual definitions and uses of objects. In addition, this program representation provides valuable information about the interaction of objects in different regions of the program, which has been used to aid in several software engineering tasks. Structural tresting is based on static analysis techniques, which can suffer from results being infeasible. Therefore, as part of this work, an infeasible type analysis of call chains is developed in order to eliminate infeasible call chains based on object parameters. Incremental algorithms for call graph update and regression testing are being developed. A prototype testing tool, TATOO, is being developed and extended to integrate the contributions of this research project.
Faculty: Dr. Lori Pollock
Graduated Ph.D. Student: Amie Souter, Assitant Professor, Drexel
University
Graduated Undergraduates: Stacey Shindo, Tiffany Wong, Jean
Mohammadi-Aragh
National Science Foundation
CRA Distributed Mentor Project