Participants' Detail
Partner organizations:
Activities and findings:
Research Activities: Building a system that computes coverage metrics for our coupling criteria; call coupling, all coupling-defs, all coupling-uses, and all-coupling paths. This system is built on top of Purdue's Java Tree Builder (JTB) system and is about 50% finished. Building a system that computes the impact of proposed changes to C++ software by performing a restricted form of slicing and by analyzing the inheritance relationships among C++ classes. This system is completed, and is called the ChAT Change Impact Analysis (CIA) system. Performing empirical analysis by applying ChAT to industrial software. Extending and refining the original coupling metric definitions to handle language features of modern object-oriented languages. This includes handling couplings based on such features as data abstraction, information hiding, type abstraction, inheritance, and polymorphism. We have been refining the measurements to be precise, and developing complete algorithms for measuring complexity based on couplings. Building a system that calculates and measures couplings among object-oriented classes. This system is built on top of Purdue's Java Tree Builder (JTB) system and is about 50% finished.
Research Findings: Software couplings provide an effective basis for constructing integration level tests. Coverage analysis can be automated for software couplings. CIA can be performed effectively and efficiently for object-oriented programs by automated analysis tools. When compared to traditional hand analysis, this form of CIA significantly reduces the amount of estimated impact and the cost of performing the analysis. It is possible to extend the definitions of software couplings to incorporate language features such as data abstraction, information hiding, type abstraction, inheritance, and polymorphism. These couplings can be automatically derived and used as a basis for software testing coverage criteria.
Research Training: This project has substantially contributed to the research skills and to the software development skills of the primary funded graduate student, Yiwei Xiong. She is now a skilled Java programmer, and was able to obtain a very good position at Network Solutions, primarily on the basis of knowledge and skills developed while working on this project. This project has also contributed to the research and software development skills of the second funded graduate student, Aynur Abdurazik. She has recently decided to remain in school to complete a PhD. This project has also contributed to the educational objectives and research skills of two part-time, unfunded graduate students. Michelle Lee completed her PhD by working on the CIA portion of this project in December 1998. Roger Alexander recently presented his PhD dissertation proposal on the testing criteria for object-oriented software portion of this project; he expects to finish his dissertation in the summer of 2000. Results from the CIA portion of this project were also presented to a graduate course at George Mason University in software testing. This should increase the knowledge of a large group of students.
Journal Publications:
http://www.cs.gmu.edu/~offutt/rsrch/Projects.html
A general description of the project, with citations and preliminary results.
Other specific products:
Contributions within Discipline:
The project has contributed to the understanding of how software analysis and couplings can help to improve problems associated with change impact analysis and integration testing.
Special Requirements for Annual Project Report:
Unobligated funds: less than 20 percent of current funds Categories for which nothing is reported: Participants: Partner organizations Participants: Other Collaborators Education and Outreach Products: Other specific product Contributions to Other Disciplines Contributions to Education and Human Resources Contributions to Resources for Science and TechnologyContributions Beyond Science and Engineering Special Reporting Requirements Animal, Human Subjects, Biohazards