Learn More
Regression testing is an important activity in software maintenance. Although a number of existing research results have addressed the problems and solutions in regression testing of traditional programs, no research results have focused on the issues and solutions in regression testing of object-oriented programs. In this paper, we present a method for(More)
Regression testing is an important activity in software maintenance. Although a number of studies have addressed the problems and solutions in regression testing of traditional programs, no studies have focused on the issues and solutions in regression testing of object-oriented programs. In this article, we discuss various types of code changes of classes(More)
The complexity and interdependencies of an object-oriented program makes testing of such programs diicult. In this paper, we present a reverse engineering based model called Object Relation Diagram (ORD), which is generated from analyzing the C++ source code of an object-oriented program. An ORD is a directed graph in which the vertices represent the object(More)
Types of code changes in an object oriented library are described. A formal model for capturing and inferencing on the changes to identify aaected classes is described. The model consists of three types of diagrams: the object relation diagram (ORD), the block branch diagram (BBD), and the object state diagram (OSD). An ORD describes the inheritance,(More)
The object-oriented (OO) paradigm is rapidly gaining acceptance in the software industry. However, the powerful features of this new paradigm also introduce a new set of OO software testing and maintenance problems. The pioneering work in identifying these new problems includes [7, 10-12, 14, 16, 18]. The problems can be summarized as: 1) the understanding(More)
Object state behavior implies that the eeect of an operation on an object may depend on the states of the object and other objects. It may cause state changes to more than one object. Thus, the combined or composite eeects of the object operations must be analyzed and tested. We show that certain object state behavior errors cannot be detected readily by(More)
The importance of object state testing is illustrated through a simple example. We show that certain errors in the implementation of object state behavior cannot be readily detected by conventional structural testing, functional testing, and state testing. We describe an object state test model and outline a reverse engineering method for extracting object(More)
Object-oriented features such as encapsulation, inheritance, and state dependent behavior raise new problems in software testing. In this paper, we describe a reverse engineering approach for software testing of object-oriented programs. The approach is based on a graphic model which consists of three types of diagrams: object relation diagram, block branch(More)