Detecting architecture instabilities with concern traces: An exploratory study

Sustaining architecture stability in incremental software development is an important aim for software engineers. Traceability mechanisms can be used to assess and predict architecture stability based on recorded information of early software artefacts. However, there is little empirical knowledge on whether traceability of stakeholders' concerns can assist the identification of architecture instabilities. This paper reports on a first exploratory study that analyses the effectiveness of concern traces for architecture stability assessment. We investigate to what extent properties of concern traces, such as their shapes, are correlated with architectural instabilities. Our analysis is based on eight releases implementing two versions of a software product line for handling mobile media.

[1]  Raymond McCall,et al.  Rationale Management in Software Engineering: Concepts and Techniques , 2006 .

[2]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[3]  Martin P. Robillard,et al.  Inferring structural patterns for concern traceability in evolving software , 2007, ASE.

[4]  Cláudio Sant'Anna,et al.  Evolving software product lines with aspects , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[5]  Alessandro F. Garcia,et al.  On the Impact of Evolving Requirements-Architecture Dependencies: An Exploratory Study , 2008, CAiSE.

[6]  Alfred V. Aho,et al.  Do Crosscutting Concerns Cause Defects? , 2008, IEEE Transactions on Software Engineering.

[7]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[8]  Martin P. Robillard,et al.  Representing concerns in source code , 2007, TSEM.

[9]  Antony Tang,et al.  A rationale-based architecture model for design traceability and reasoning , 2007, J. Syst. Softw..

[10]  Diane Kelly,et al.  A study of design characteristics in evolving software using stability as a criterion , 2006, IEEE Transactions on Software Engineering.

[11]  Cláudio Sant'Anna,et al.  Crosscutting patterns and design stability: An exploratory analysis , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[12]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[13]  Eduardo Figueiredo,et al.  Early Crosscutting Metrics as Predictors of Software Instability , 2009, TOOLS.

[14]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[15]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .