Font Size: a A A

Design based change impact modeling for object-oriented software

Posted on:2004-10-27Degree:Ph.DType:Thesis
University:State University of New York at AlbanyCandidate:Tang, Mei-HueiFull Text:PDF
GTID:2468390011965647Subject:Computer Science
Abstract/Summary:
Change is an inevitable part of a software's evolving nature, and frequently takes place at every phase of the software lifecycle. Typically, a change in an earlier phase will propagate to later phases, and can have a much larger impact later on. Therefore, techniques for analyzing the impact of changes are indispensable for identifying potential consequences of the alterations, estimating effort and schedule requirements for the changes, and making effective decisions on the change requests.;In this thesis, we present a design-based change impact analysis technique for object-oriented software. We capture the dependence relationships among entities from the UML design, and develop a grammar to depict those relationships. Based on the grammar, the potential regions of the software that are influenced by a change can be identified. We model change impact in a hierarchical fashion to present the impact at different levels of detail and to provide multiple views for managers, team leaders and programmers. For managers, the major concern over change is cost, which dominates the decisions on change implementation. Software change-cost is strongly related to the complexity and fault-proneness of software, the types of faults contained in software, and the effectiveness of testing techniques.;Software metrics have been shown as good indicators of fault-proneness of software components, as well as useful guides for the selection of testing techniques. Hence, we conducted an investigation aiming to identify object-oriented metrics that can serve as good indicators for OO faults. Four metrics that meet this need are identified. We also discovered that using the identified metrics for guiding the application of testing techniques can achieve a high percentage of fault detection.;Combining the result of our change-impact analysis, which serves as the foundation of change-size estimation, with the support of OO metrics, a software change-cost model is developed. This model facilitates change-cost estimation that accounts for the extra effort required to identify complex faults to achieve high percentage of fault detection. Our approach can be applied to different levels of granularity and serves the needs of different users; thus it is scalable and practical for a variety of application domains.
Keywords/Search Tags:Software, Change, Object-oriented, Model
Related items