A Change Impact Analysis Approach for the Software Development Phase

Software undergoes changes at all stages of the software development process. Accepting too many changes will cause expense and delay and rejecting the changes may cause customer dissatisfaction. One of the inputs that help the software project management to decide whether to accept or reject the changes is by having reliable predictions of the impact of the changes. Change impact analysis is one of the methods that can be used to provide the predictive information. Many current impact analysis approaches have been developed for the software maintenance phase. These approaches assume that all classes in the class artifact are completely developed and the class artifact is used as a source of analysis since it represents the final user requirements. However, these assumptions are not practical for impact analysis in the software development phase as some classes in the class artifact are still under development or partially developed. This leads to inaccuracy. This paper presents a novel impact analysis approach to be used in the software development phase. The significant achievements of the approach are demonstrated through an extensive experimental validation using several case studies. The experimental analysis shows improvement in the accuracy over current impact analysis results.

[1]  Mark Reynolds,et al.  Impact Analysis using Class Interaction Prediction Approach , 2010, SoMeT.

[2]  Peter A. Walker,et al.  An Introduction to IBM Rational Application Developer: A Guided Tour (IBM Illustrated Guide Series) (IBM Illustrated Guide series) , 2005 .

[3]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[4]  Andrea Zisman,et al.  Rule-based generation of requirements traceability relations , 2004, J. Syst. Softw..

[5]  Jacob Cohen A Coefficient of Agreement for Nominal Scales , 1960 .

[6]  Alessandro Orso,et al.  Leveraging field data for impact analysis and regression testing , 2003, ESEC/FSE-11.

[7]  J. Rilling,et al.  A Requirement Level Modification Analysis Support Framework , 2007, Third International IEEE Workshop on Software Evolvability 2007.

[8]  Shawn A. Bohner,et al.  A framework for software maintenance metrics , 1990, Proceedings. Conference on Software Maintenance 1990.

[9]  Reza Zafarani,et al.  Towards a more efficient static software change impact analysis method , 2008, PASTE '08.

[10]  Jameleddine Hassine,et al.  Feature interaction analysis: a maintenance perspective , 2007, ASE.

[11]  Lulu Huang,et al.  Dynamic Impact Analysis Using Execution Profile Tracing , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[12]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[13]  Anthony Danalis,et al.  Online impact analysis via dynamic compilation technology , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[14]  Lionel C. Briand,et al.  Using coupling measurement for impact analysis in object-oriented systems , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[15]  Gregg Rothermel,et al.  Incremental dynamic impact analysis for evolving software systems , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[16]  Mark Reynolds,et al.  Considering Patterns in Class Interactions Prediction , 2010, FGIT-ASEA.

[17]  Jameleddine Hassine,et al.  Change impact analysis for requirement evolution using use case maps , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[18]  Scott W. Ambler,et al.  Agile modeling: effective practices for extreme programming and the unified process , 2002 .

[19]  Linda Badri,et al.  Supporting predictive change impact analysis: a control call graph based technique , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[20]  Mark Reynolds,et al.  PREDICTING CLASS INTERACTIONS USING REQUIREMENT INTERACTIONS , 2009, ICSE 2009.

[21]  Lulu Huang,et al.  Precise Dynamic Impact Analysis with Dependency Analysis for Object-oriented Programs , 2007, 5th ACIS International Conference on Software Engineering Research, Management & Applications (SERA 2007).

[22]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[23]  Abdelwahab Hamou-Lhadj,et al.  An Approach for Mapping Features to Code Based on Static and Dynamic Analysis , 2008, 2008 16th IEEE International Conference on Program Comprehension.

[24]  Stuart Harman,et al.  No silver bullet , 2013 .

[25]  Ian H. Witten,et al.  Linear-time, incremental hierarchy inference for compression , 1997, Proceedings DCC '97. Data Compression Conference.

[26]  Mikael Lindvall,et al.  How well do experienced software developers predict software change? , 1998, J. Syst. Softw..

[27]  Åsa G. Dahlstedt,et al.  Requirements Interdependencies-Moulding the State of Research into a Research Agenda , 2003 .

[28]  Mark Reynolds,et al.  Predicting Class Interactions from Requirement Interactions: Evaluating a New Filtration Approach , 2010, ICSE 2010.

[29]  J. Larus Whole program paths , 1999, PLDI '99.

[30]  Ron Patton Software Testing (2nd Edition) , 2005 .

[31]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[32]  Robert Charles Metzger Debugging by Thinking: A Multidisciplinary Approach , 2003 .

[33]  Anthony Finkelstein,et al.  Software engineering: a roadmap , 2000, ICSE '00.

[34]  Angela Greiling Keane,et al.  NO SILVER BULLET , 2003 .

[35]  R. Lyman Ott.,et al.  An introduction to statistical methods and data analysis , 1977 .

[36]  Pankaj Mudholkar,et al.  Software Testing , 2002, Computer.

[37]  Juan Li,et al.  Requirement-Centric Traceability for Change Impact Analysis: A Case Study , 2008, ICSP.

[38]  A. Jefferson Offutt,et al.  Algorithmic analysis of the impacts of changes to object-oriented software , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

[39]  Daniel Amyot,et al.  URN: Towards a New Standard for the Visual Description of Requirements , 2002, SAM.

[40]  Per Runeson,et al.  Tutorial: Case Studies in Software Engineering , 2009, PROFES.

[41]  Giuliano Antoniol,et al.  Information retrieval models for recovering traceability links between code and documentation , 2000, Proceedings 2000 International Conference on Software Maintenance.

[42]  George Spanoudakis Plausible and adaptive requirement traceability structures , 2002, SEKE '02.

[43]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.

[44]  Shawn A. Bohner,et al.  Impact analysis-Towards a framework for comparison , 1993, 1993 Conference on Software Maintenance.