Change Impact Analysis of Feature Models

Changeability is a fundamental property of software systems. Every software system must evolve at all levels of abstraction (models, architecture, source code, documentation, etc.) to meet changing user and context requirements. To assess the extent of a change, change impact analysis must be performed. In this paper, we propose a taxonomy of change aspects in feature modelling domain, and analyse changeability of feature models, a high level representation of system’s external user-visible characteristics. We propose the change impact model based on a feature dependency matrix to assess validity of feature change, to follow feature change propagation and to estimate changeability of a feature model using a Jaccard distance measure. The model is implemented using Prolog logic rules. A case study is presented.

[1]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[2]  Gerhard Fischer,et al.  Meta-design , 2004, Commun. ACM.

[3]  Paulo Borba,et al.  Automatically Checking Feature Model Refactorings , 2011, J. Univers. Comput. Sci..

[4]  Nicolas Anquetil,et al.  Software maintenance seen as a knowledge management issue , 2007, Inf. Softw. Technol..

[5]  Horst Lichter,et al.  Determining the Variation Degree of Feature Models , 2005, SPLC.

[6]  Michael W. Godfrey,et al.  The past, present, and future of software evolution , 2008, 2008 Frontiers of Software Maintenance.

[7]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[8]  Nicolas Anquetil,et al.  A model-driven traceability framework for software product lines , 2010, Software & Systems Modeling.

[9]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[10]  Naoyasu Ubayashi,et al.  Context-Dependent Product Line Practice for Constructing Reliable Embedded Systems , 2010, SPLC.

[11]  Harald C. Gall,et al.  Classifying Change Types for Qualifying Change Couplings , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[12]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[13]  Tom Mens,et al.  Towards a taxonomy of software change , 2005, J. Softw. Maintenance Res. Pract..

[14]  Armin P. Schulz,et al.  Design for changeability (DfC): Principles to enable changes in systems throughout their entire lifecycle , 2005 .

[15]  Jim Highsmith,et al.  Agile Software Development Ecosystems , 2002 .

[16]  Václav Rajlich,et al.  Incremental change in object-oriented programming , 2004, IEEE Software.

[17]  Chengying Mao,et al.  Matrix-based Change Impact Analysis for Component-based Software , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[18]  Jan Bosch Software Variability Management , 2004, SPLC.

[19]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[20]  Meir M. Lehman,et al.  Metrics of software evolution as effort predictors - a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[21]  Václav Rajlich,et al.  A model for change propagation based on graph rewriting , 1997, 1997 Proceedings International Conference on Software Maintenance.

[22]  Zhenchang Xing,et al.  Understanding Feature Evolution in a Family of Product Variants , 2010, 2010 17th Working Conference on Reverse Engineering.

[23]  Michiel Helvensteijn,et al.  Abstract delta modeling , 2010, GPCE '10.

[24]  Kyo Chul Kang,et al.  Usage Context as Key Driver for Feature Selection , 2010, SPLC.

[25]  Barry W. Boehm Perspectives [The changing nature of software evolution; The inevitability of evolution] , 2010, IEEE Softw..

[26]  Bente Anda,et al.  Understanding software maintenance and evolution by analyzing individual changes: a literature review , 2009 .

[27]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[28]  Stefan Kowalewski,et al.  EvoFM: feature-driven planning of product-line evolution , 2010, PLEASE '10.

[29]  Yves Le Traon,et al.  Vidock: A Tool for Impact Analysis of Aspect Weaving on Test Cases , 2010, ICTSS.

[30]  Patrick Donohoe Software Architecture, TC2 First Working IFIP Conference on Software Architecture (WICSA1), 22-24 February 1999, San Antonio, Texas, USA , 1999, WICSA.

[31]  H. Kagdi,et al.  Software-Change Prediction: Estimated+Actual , 2006, 2006 Second International IEEE Workshop on Software Evolvability (SE'06).

[32]  Jaejoon Lee,et al.  Software Product Lines: Going Beyond - 14th International Conference, SPLC 2010, Jeju Island, South Korea, September 13-17, 2010. Proceedings , 2010, SPLC.

[33]  Michael Winikoff,et al.  An agent-oriented approach to change propagation in software evolution , 2006, Australian Software Engineering Conference (ASWEC'06).

[34]  Klaus Schmid,et al.  A Requirements-Based Taxonomy of Software Product Line Evolution , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[35]  Lionel C. Briand,et al.  Automated impact analysis of UML models , 2006, J. Syst. Softw..