Skip to main content

Change Impact Analysis in Product-Line Architectures

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 6903)

Abstract

Change impact analysis is fundamental in software evolution, since it allows one to determine potential effects upon a system resulting from changing requirements. While prior work has generically considered change impact analysis at architectural level, there is a distinct lack of support for the kinds of architectures used to realize software product lines, so-called product-line architectures (PLAs). In particular, prior approaches do not account for variability, a specific characteristic of software product lines. This paper presents a new technique for change impact analysis that targets product-line architectures. We propose to join a traceability-based algorithm and a rule-based inference engine to effectively traverse modeling artifacts that account for variability. In contrast to prior approaches, our technique supports the mechanisms for (i) specifying variability in PLAs, (ii) documenting PLA knowledge, and (iii) tracing variability between requirements and PLAs. We demonstrate our technique by applying it to the analysis of requirements changes in the product-line architecture of a banking system.

Keywords

  • Product-line architectures
  • product-line evolution
  • change impact analysis

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-23798-0_12
  • Chapter length: 16 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   74.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-23798-0
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ali Babar, M., Dingsyr, T., Lago, P., van Vliet, H.: Software Architecture Knowledge Management. Springer, Heidelberg (2009)

    Google Scholar 

  2. Assmann, U.: Invasive Software Composition. Springer-Verlag New York, Inc., Secaucus (2003)

    CrossRef  MATH  Google Scholar 

  3. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edition, 2nd edn. Addison-Wesley Pearson Education, Reading (2003)

    Google Scholar 

  4. Bosch, J.: Product-line architectures in industry: a case study. In: Proceedings of the 21st International Conference on Software Engineering, ICSE 1999, pp. 544–554. ACM, New York (1999)

    Google Scholar 

  5. Chen, C.-Y., Chen, P.-C.: A holistic approach to managing software change impact. J. Syst. Softw. 82(12), 2051–2067 (2009)

    CrossRef  Google Scholar 

  6. Cho, H., Gray, J., Cai, Y., Wong, S., Xie, T.: Model-Driven Impact Analysis of Software Product Lines. In: Model-Driven Domain Analysis and Software Development: Architectures and Functions, pp. 275–303. Information Science Reference (2010)

    Google Scholar 

  7. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.A.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley Professional, Reading (2010)

    Google Scholar 

  8. Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration through specialization and multilevel configuration of feature models. Software Process: Improvement and Practice 10(2), 143–169 (2005)

    CrossRef  Google Scholar 

  9. Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A comprehensive approach for the development of modular software architecture description languages. ACM Trans. Softw. Eng. Methodol. 14(2), 199–245 (2005)

    CrossRef  Google Scholar 

  10. de Boer, R.C., van Vliet, H.: Architectural knowledge discovery with latent semantic analysis: Constructing a reading guide for software product audits. J. Syst. Softw. 81, 1456–1469 (2008)

    CrossRef  Google Scholar 

  11. Feng, T., Maletic, J.I.: Applying dynamic change impact analysis in component-based architecture design. In: SNPD-SAWN 2006: Proceedings of the Seventh ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, pp. 43–48. IEEE Computer Society, Washington, DC, USA (2006)

    Google Scholar 

  12. Hassan, M.O., Deruelle, L., Basson, H.: A knowledge-based system for change impact analysis on software architecture. In: Proceedings of Fourth International Conference on Research Challenges in Information Science, pp. 545–556 (2010)

    Google Scholar 

  13. Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings of 5th Working IEEE/IFIP Conference on Software Architecture (WICSA 2005), pp. 109–120 (2005)

    Google Scholar 

  14. Kagdi, H., Hammad, M., Maletic, J.: Who can help me with this source code change? In: IEEE International Conference on Software Maintenance (ICSM 2008), p. 157 (2008)

    Google Scholar 

  15. Kim, S., Whitehead, E., Zhang, Y.: Classifying software changes: Clean or buggy? IEEE Transactions on Software Engineering 34(2), 181–196 (2008)

    CrossRef  Google Scholar 

  16. Kruchten, P., Lago, P., van Vliet, H.: Building up and reasoning about architectural knowledge. In: Hofmeister, C., Crnković, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 43–58. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  17. Landauer, T., Foltz, P., Lahan, D.: An introduction to latent semantic analysis (1998), http://lsa.colorado.edu/papers/dp1.LSAintro.pdf

  18. Lee, M., Offutt, A.J., Alexander, R.T.: Algorithmic analysis of the impacts of changes to object-oriented software. In: TOOLS 2000: Proceedings of the Technology of Object-Oriented Languages and Systems, pp. 61–70. IEEE Computer Society, Washington, DC, USA (2000)

    Google Scholar 

  19. Linden, F., Schmid, K., Rommes, E.: Software Product Lines in Action. Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

  20. Mohan, K., Ramesh, B.: Managing variability with traceability in product and service families. In: Proceedings of the 35th Annual Hawaii International Conference on System Sciences, HICSS, pp. 1309–1317 (2002)

    Google Scholar 

  21. Mohan, K., Ramesh, B.: Tracing variations in software product families. Commun. ACM 50, 68–73 (2007)

    CrossRef  Google Scholar 

  22. Moon, M., Chae, H.S., Nam, T., Yeom, K.: A metamodeling approach to tracing variability between requirements and architecture in software product lines. In: CIT 2007: Proceedings of the 7th IEEE International Conference on Computer and Information Technology, pp. 927–933. IEEE Computer Society, Washington, DC, USA (2007)

    Google Scholar 

  23. Olsen, G., Oldevik, J.: Scenarios of traceability in model to text transformations. In: Akehurst, D., Vogel, R., Paige, R. (eds.) ECMDA-FA. LNCS, vol. 4530, pp. 144–156. Springer, Heidelberg (2007)

    Google Scholar 

  24. Pérez, J., Díaz, J., Garbajosa, J., Alarcón, P.P.: Flexible working architectures: Agile architecting using ppcs. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 102–117. Springer, Heidelberg (2010)

    Google Scholar 

  25. Pérez, J., Díaz, J., Soria, C.C., Garbajosa, J.: Plastic partial components: A solution to support variability in architectural components. In: Proceedings of Joint Working IEEE/IFIP Conference on Software Architecture 2009 and European Conference on Software Architecture, WICSA/ECSA, pp. 221–230. IEEE Computer Society Press, Los Alamitos (2009)

    CrossRef  Google Scholar 

  26. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    CrossRef  Google Scholar 

  27. Pohl, K., Brandenburg, M., Glich, A.: Integrating requirement and architecture information: A scenario and meta-model approach. In: REFSQ 2001: Proceedings of The Seventh International Workshop on Requirements Engineering: Foundation for Software Quality, pp. 68–84 (2001)

    Google Scholar 

  28. Ramesh, B., Jarke, M.: Toward reference models for requirements traceability. IEEE Trans. Softw. Eng. 27(1), 58–93 (2001)

    Google Scholar 

  29. Riebisch, M., Wohlfarth, S.: Introducing impact analysis for architectural decisions. In: Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems, pp. 381–392. IEEE Computer Society, Washington, DC, USA (2007)

    Google Scholar 

  30. Satyananda, T.K., Lee, D., Kang, S., Hashmi, S.I.: Identifying traceability between feature model and software architecture in software product line using formal concept analysis. In: ICCSA 2007: Proceedings of the The 2007 International Conference Computational Science and its Applications, pp. 380–388. IEEE Computer Society, Washington, DC, USA (2007)

    Google Scholar 

  31. Scott, J., Kazman, R.: Realizing and refining architectural tactics: Availability. Technical report, CMU/SEI-2009-TR-006 ESC-TR-2009-006 (2009)

    Google Scholar 

  32. M., Shahin, Liang, P., Khayyambashi, M.: Architectural design decision: Existing models and tools. In: Joint Working IEEE/IFIP Conference on Software Architecture, 2009 European Conference on Software Architecture, WICSA/ECSA 2009, pp. 293–296 (2009)

    Google Scholar 

  33. Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79, 1792–1804 (2006)

    CrossRef  Google Scholar 

  34. Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw. 80, 918–934 (2007)

    CrossRef  Google Scholar 

  35. Tang, A., Nicholson, A., Jin, Y., Han, J.: Using bayesian belief networks for change impact analysis in architecture design. J. Syst. Softw. 80, 127–148 (2007)

    CrossRef  Google Scholar 

  36. van der Hoek, A., Mikic-Rakic, M., Roshandel, R., Medvidovic, N.: Taming architectural evolution. In: Proceedings of the ESEC/FSE-9, pp. 1–10. ACM, New York (2001)

    Google Scholar 

  37. van Vliet, H.: Software architecture knowledge management. In: 19th Australian Conference on Software Engineering, 2008, ASWEC 2008, pp. 24–31 (2008)

    Google Scholar 

  38. Vora, U.: Change impact analysis and software evolution specification for continually evolving systems. In: Proceedings of Fifth International Conference on Software Engineering Advances (ICSEA), pp. 238–243 (2010)

    Google Scholar 

  39. Williams, B.J., Carver, J.C.: Characterizing software architecture changes: A systematic review. Inf. Softw. Technol. 52(1), 31–51 (2010)

    CrossRef  Google Scholar 

  40. Zhao, J., Yang, H., Xiang, L., Xu, B.: Change impact analysis to support architectural evolution. Journal of Software Maintenance 14, 317–333 (2002)

    CrossRef  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Díaz, J., Pérez, J., Garbajosa, J., Wolf, A.L. (2011). Change Impact Analysis in Product-Line Architectures. In: Crnkovic, I., Gruhn, V., Book, M. (eds) Software Architecture. ECSA 2011. Lecture Notes in Computer Science, vol 6903. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23798-0_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23798-0_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23797-3

  • Online ISBN: 978-3-642-23798-0

  • eBook Packages: Computer ScienceComputer Science (R0)