Activities and findings:
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)
Performing empirical analysis by applying ChAT to industrial
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
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.
Software couplings provide an effective basis for constructing
integration level tests. Coverage analysis can be automated for
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.
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
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
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.
A general description of the project, with citations and preliminary
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