Example: air traffic controller

CHANGE IMPACT ANALYSIS OF OBJECT-ORIENTED SOFTWARE

CHANGE IMPACT ANALYSIS OF object -ORIENTEDSOFTWAREByMichelle L. Lee (Li Li)A DissertationSubmitted to theGraduate FacultyofGeorge Mason UniversityIn Partial Fulfillment ofThe Requirements for the DegreeofDoctor of PhilosophyInformation TechnologyCommittee:_____ Jeff Offutt, Dissertation Director_____ David Rine, Chairman_____ Xiaoyang Sean Wang_____ Daniel Carr_____ Stephen G. Nash, Associate Dean for Graduate Studies and Research_____ Lloyd J. Griffiths, Dean, School of Information Technology and EngineeringDate: _____ Fall 1998 George Mason University Fairfax, VirginiaCHANGE IMPACT ANALYSIS OF object -ORIENTEDSOFTWAREA dissertation submitted in partial fulfillment of the requirements for the Doctor OfPhilosophy degree in Information Technology at George Mason UniversityByMichelle L.

CHANGE IMPACT ANALYSIS OF OBJECT-ORIENTED SOFTWARE A dissertation submitted in partial fulfillment of the requirements for the Doctor Of Philosophy …

Tags:

  Analysis, Software, Impact, Object, Oriented, Impact analysis of object oriented software

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of CHANGE IMPACT ANALYSIS OF OBJECT-ORIENTED SOFTWARE

1 CHANGE IMPACT ANALYSIS OF object -ORIENTEDSOFTWAREByMichelle L. Lee (Li Li)A DissertationSubmitted to theGraduate FacultyofGeorge Mason UniversityIn Partial Fulfillment ofThe Requirements for the DegreeofDoctor of PhilosophyInformation TechnologyCommittee:_____ Jeff Offutt, Dissertation Director_____ David Rine, Chairman_____ Xiaoyang Sean Wang_____ Daniel Carr_____ Stephen G. Nash, Associate Dean for Graduate Studies and Research_____ Lloyd J. Griffiths, Dean, School of Information Technology and EngineeringDate: _____ Fall 1998 George Mason University Fairfax, VirginiaCHANGE IMPACT ANALYSIS OF object -ORIENTEDSOFTWAREA dissertation submitted in partial fulfillment of the requirements for the Doctor OfPhilosophy degree in Information Technology at George Mason UniversityByMichelle L.

2 Lee (Li Li)Master of ScienceGeorge Mason University, 1995 Thesis Director: Dr. Jeff Offutt, Associate ProfessorDepartment of Information and SOFTWARE EngineeringFall Semester 1998 George Mason UniversityFairfax, VirginiaiiCopyright 1998 Michelle L. Lee (Li Li)All Rights ReservediiiDEDICATIONThis dissertation is lovingly dedicated to my husband, Sheldon Zhou, for his endlessdedication and patience; my daughter, Stacey Zhou - who is very proud of her mom - for herlove and her company while I was working on the thesis; my farther, Jing Lee, for teachingme to be myself and not to yield to difficulties; and my mother, GuoChai Fu, for teaching meto be loving and want to offer my thanks to all who has contributed to the success of this research:My dissertation director, Dr. A. Jefferson Offutt, for his guidance and encouragement;Dr. David Rine, Dr. S. Sean Wang, and Dr. Danial Carr for serving on my committee andproviding me much needed support;LCC International Inc for continuing moral and financial support and for allowing me use thecompany SOFTWARE as part of the test cases of this Jojic and Will Mitchell for providing their valuable comments and insights;This research is partially supported by the National Science Foundation under grant OF XI1 INTRODUCTION.

3 SOFTWARE CHANGE IMPACT Process .. of IMPACT ANALYSIS .. System IMPACT RELATED IMPACT .. Flow, Data Flow and Data Dependency .. SCOPE AND GOALS OF THIS Statement .. Statement .. BRIEF DESCRIPTION OF RESEARCH ORGANIZATION OF THIS 222 BACKGROUND CONCEPTS .. OBJECT-ORIENTED GRAPH AND DEPENDENCY Dependency NEW NEW IMPACT Definitions .. Data Dependency Graph Theory .. CALCULATE REFERENCE Statements .. and Loops .. Processing and Parameter Passing .. of Pointers and CHANGE .. IMPACT 514 ALGORITHMS .. ALGORITHMS INPUTS AND OUTPUTS OF THE TOTAL THE CONTAINMENT RELATIONSHIP: THE USE RELATIONSHIP: THE INHERITANCE RELATIONSHIP: of Inheritance .. ALGORITHMS CORRECTNESS 795 OBJECT-ORIENTED CHANGE IMPACT METRICS .. OBJECT-ORIENTED CHANGE IMPACT METRIC OBJECT-ORIENTED CHANGE IMPACT OBJECT-ORIENTED CHANGE IMPACT Metrics.

4 METRICS 916 INFERENCE APPROACH .. in the Algorithms .. Composed Queries .. 1077 PROOF-OF-CONCEPT EXPERIMENTAL SYSTEM .. SYSTEM Extractor .. Analyzer .. EMPIRICAL Propagation Inside Classes .. Propagation Inside a Class with Recursive Relationships .. Propagation among Use and Containment Propagation by Inheritance, Use and Containment Relationships .. A CASE STUDY FROM A COMMERCIAL INDUSTRY 1468 CONTRIBUTIONS AND FUTURE WORK .. FUTURE A.. OBJECT-ORIENTED CHANGE IMPACT RULES AND FACTS166 APPENDIX B..CLASS HEADERS OF TESTED MODULES168 LIST OF 187viiLIST OF TABLEST able Page1. IMPACT Power of Contaminate Type Values .. 462. object Relationship Type Values ..46viiiLIST OF FIGURESF igure Page1.

5 Define the steps in the maintenance process [MORE90] .. 32. Typical IMPACT ANALYSIS Process .. 103. Relationships between classes .. 254. Class Components 345. IMPACT Model Dimension IMPACT Set Venn 547. Call Relationships among CHANGE IMPACT ANALYSIS 558. IMPACT Set Component 599. Total Effect Pseudo Code .. 6010. Initialization Pseudo Code .. 6111. FindEffectInClass Pseudo Code ..6412. FindEffectAmongClients pseudo code .. 6513. FindEffectByInheritance Pseudo Code .. 7214. ForwardInheritanceTreeProcess(Cp).. 7415. BackwardInheritanceTreeProcess (Cc) .. 7416. Class Diagram of Inheritance 7717. New FindEffectAmongClients Pseudo Code .. 7918. Dependency Graph .. 9719. Inheritance Example .. 10020. Method m references method n and data member y in C1 .. 10221. Data member x in c1 references method m and data member y in c1 .. 10222. Component Connection Graph .. 10923. Framework .. 11024. Information Collector 11125. Analyzer Class Hierarchy.

6 11226. ChAT Analyzer Class Diagram .. 11327. Class Member Dependencies in Example .. 11728. All Class Tree View in Example 11829. IMPACT Only Tree View in Example .. 11930. The IMPACT Table in Example 12031. The Class IMPACT Table in Example .. 12132. Input Table in Example .. 12233. The recursive dependency in Example .. 12334. All Class Tree View in Example 12435. IMPACT Only Tree View in Example .. 12536. IMPACT Table of Example 12637. Class IMPACT Table of Example .. 12738. Input Table in Example .. 12839. Example header 129ix40. Example Class 13041. Class Member Dependencies of Example 13142. All Class Tree View of Example .. 13243. IMPACT Only Tree View of Example .. 13344. IMPACT Table of Example 13445. Class IMPACT Table of Example .. 13546. Input Table of Example .. 13647. Inheritance Relationship Sample Code .. 13848. Class Diagram of Example .. 13949. Class Member Dependencies in Example.

7 14050. All Class Tree View of Example .. 14151. IMPACT Only Class Tree View in Example .. 14252. IMPACT Table of Example 14353. Class IMPACT Table of Example .. 14454. Input Table of Example .. 14555. Class Diagram of Notification Module .. 14756. Document Module Class Diagram .. 14857. Class Diagram of Graphic Module .. 14958. Example All Class Tree 15059. Example IMPACT Only Class Tree 15160. Example Member IMPACT 15261. Example Class IMPACT Table .. 15362. Input Table of Example .. 15463. Example All Class Tree 15664. Example IMPACT Only Class Tree 15765. Example IMPACT Table .. 15866. Example Class IMPACT Table .. 15967. The Input Table of Example .. 160 ABSTRACTCHANGE IMPACT ANALYSIS OF OBJECT-ORIENTED SOFTWAREM ichelle L. Lee (Li Li), Mason University, 1998 Dissertation Director: Dr. A. Jefferson OffuttAs the SOFTWARE industry has matured, we have shifted our resources from being devoted todeveloping new SOFTWARE systems to making modifications in evolving SOFTWARE systems.

8 Amajor problem for developers in an evolutionary environment is that seemingly smallchanges can ripple throughout the system to cause major unintended impacts elsewhere. Assuch, SOFTWARE developers need mechanisms to understand how a CHANGE to a softwaresystem will IMPACT the rest of the system. Although the effects of changes in object -orientedsoftware can be restricted, they are also more subtle and more difficult to detect. Maintainingthe current OBJECT-ORIENTED systems is more of an art, similar to where we were 15 years agowith procedural systems, than an engineering skill. We are beginning to see "legacy" OBJECT-ORIENTED systems in industry. A difficult problem is how to maintain these objects in large,complex systems. Although objects are more easily identified and packaged, features such asencapsulation, inheritance, aggregation, polymorphism and dynamic binding can make theripple effects of OBJECT-ORIENTED systems far more difficult to control than in proceduralsystems.

9 The research presented here addresses the problems of CHANGE IMPACT ANALYSIS forobject- oriented SOFTWARE . Major results of this research include a set of OBJECT-ORIENTED datadependency graphs, a set of algorithms that allow SOFTWARE developers to evaluate proposedchanges on OBJECT-ORIENTED SOFTWARE , a set of OBJECT-ORIENTED CHANGE IMPACT metrics toevaluate the CHANGE IMPACT quantitatively, and a prototype tool (ChaT) to evaluate thealgorithms. This research also results in efficient regression testing by helping testers decidewhat classes and methods need to be retested, and in supporting cost estimation and INTRODUCTIONThis dissertation presents results addressing the problem of CHANGE IMPACT ANALYSIS onobject- oriented SOFTWARE . This chapter describes the basic concepts of SOFTWARE maintenance,and introduces the concepts of CHANGE process and IMPACT ANALYSIS , especially OBJECT-ORIENTED system IMPACT ANALYSIS .

10 It discusses what has been done in this research area, theproblems, and how this research addresses these SOFTWARE MaintenanceSoftware evolution refers to the on-going enhancements of existing SOFTWARE systems,involving both development and maintenance has been recognized as the most costly and difficult phase in thesoftware life cycle [LIWE94][SCHN87]. Over the life of a SOFTWARE system, the softwaremaintenance effort has been estimated to be frequently more than 50% of the total life cyclecost. This maintenance cost shows no sign of declining [TURV94].Unlike many other types of products, SOFTWARE products are intended to be adaptable. Eventhough SOFTWARE neither deteriorates nor changes with age if its media are well-presented, SOFTWARE maintenance is an expensive process where an existing program is modified for avariety of reasons, including correcting errors, adapting to different data or processingenvironments, enhancing to add functionality, and altering to improve efficiency [HARR93].


Related search queries