"Project Reporting"

Jeff Offutt ; George Mason University
Coupling-Based Analysis for Integration Testing of Object-Oriented Software

Participant individuals:
Graduate student(s): Yiwei Xiong; Aynur Abdurazik
Technician, programmer(s): Roger Alexander; Michelle Lee

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.

Activities and findings:

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:
Jeff Offutt and Zhenyi Jin, "Coupling-based Criteria for Integration Testing", The Journal of Software Testing, Verification, and Reliability, vol. 8(3), (1998), p. 133. Published

Book(s) or other one-time publication(s):
Jeff Offutt and Aynur Abdurazik, "Generating Tests from UML Specifications" , bibl. Second International Conference on the Unified Modeling Language (UML99), (1999). Proceedings Accepted
Jane Huffman Hayes and Jeff Offutt, "Increased Software Reliability Through Input Validation Analysis and Testing" , bibl. The Tenth IEEE International Symposium on Software Reliability Engineering (ISSRE99), (1999). Proceedings Accepted
Jeff Offutt, Yiwei Xiong and Shaoying Liu, "Criteria for Generating Specification-based Tests" , bibl. Fifth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS '99), (1999). Proceedings Accepted
Roger T. Alexander and Jeff Offutt, "Analysis Techniques for Testing Polymorphic Relationships" , bibl. 30th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS USA'99), (1999). Proceedings Accepted
Jane Huffman Hayes and Jeff Offutt, "Input Validation Testing: A Requirements-Driven, System Level, Early Lifecycle Technique" , bibl. 11th International Conference on Software Engineering & its Applications, (1998). Book Published

Internet Dissemination:


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 Technology
Contributions Beyond Science and Engineering
Special Reporting Requirements
Animal, Human Subjects, Biohazards