Advertisement

Architectural Decay during Continuous Software Evolution and Impact of ‘Design for Change’ on Software Architecture

  • Mehwish Riaz
  • Muhammad Sulayman
  • Husnain Naqvi
Part of the Communications in Computer and Information Science book series (CCIS, volume 59)

Abstract

Software architecture is the blue print of software and guides the development and evolution of the software. A good design produces quality software and careful evolution of software leads to a longer life of the software whereas a bad design and careless evolution leads to decay of the software. This paper discusses the phenomenon of architectural decay and gives an account of the practices suggested in the literature for identification, resolution and prevention of architectural decay. The observations from a controlled experiment to study the impact of the prevention practice ‘design for change’ are also discussed. The results from the studied metrics suggest that software created without following a proper design has a greater tendency to decay.

Keywords

Software Architecture Architectural Decay Software Evolution 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aoyama, M.: Continuous and Discontinuous Software Evolution: Aspects of Software Evolution across Multiple Product Lines. In: IWPSE 2001 (2001)Google Scholar
  2. 2.
    Henderson-sellers, B.: Object-Oriented Metrics, Measures of Complexity. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  3. 3.
    Carriere, S.J., et al.: The Perils of Reconstructing Architectures. In: ISAW 1998 (1998)Google Scholar
  4. 4.
    Chidamber, S.R., Kamerer, C.F.: A metrics Suite for Object-Oriented Design. IEEE Trans. Soft. Eng. SE-20(6), 476–493 (1994)CrossRefGoogle Scholar
  5. 5.
    Dobrica, L., Niemela, E.: A Survey on Software Architecture Analysis Methods. IEEE Trans. Soft. Eng. 28(7), 638–653 (2002)CrossRefGoogle Scholar
  6. 6.
    Eick, S.G., et al.: Does Code Decay? Assessing the Evidence from Change Management Data. IEEE Trans. on Soft. Eng. 27(1), 1–12 (2001)CrossRefGoogle Scholar
  7. 7.
    Williams, B.J., Carver, J.C.: Characterizing Software Architecture Changes: An Initial Study. In: ESEM 2007, pp. 410–419 (2007)Google Scholar
  8. 8.
    Hochstein, L., Lindvall, M.: Combating Architectural Degeneration: A survey. Information and Software Technology 47(10), 693–707 (2005)CrossRefGoogle Scholar
  9. 9.
    Kraft, J.: Software Aging and Code Decay Phenomenon. TR, Mälardalen University (2007)Google Scholar
  10. 10.
    Yang, Y., et al.: Scenarios for Mining the Software Architecture Evolution. In: MSR 2006 (2006)Google Scholar
  11. 11.
    Lehman, M.M., Belady, L.A.: Program Evolution – Processes of Software Change. Academic Press, London (1985)Google Scholar
  12. 12.
    Parnas, D.L.: Software Aging. In: ICSE 1994, pp. 279–287 (1994)Google Scholar
  13. 13.
    Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  14. 14.
    Pressman, R.S.: Software Engineering – A Practitioner’s Approach. Sixth Edition. McGraw-Hill, New York (2005)Google Scholar
  15. 15.
    Ramil, J.F.: Algorithmic Cost Estimation for Software Evolution. In: ICSE 2000 (2000)Google Scholar
  16. 16.
    Stringfellow, C., et al.: Comparison of Software Architecture Reverse Engineering Methods. Information and Software Technology 48, 484–497 (2005)CrossRefGoogle Scholar
  17. 17.
    Taylor, R.N., van der Hoek, A.: Software Design and Architecture – The Once and Future Focus of Software Engineering. In: FOSE 2007 (2007)Google Scholar
  18. 18.
    Tran, J.B., et al.: Forward and Reverse Repair of Architecture. In: CASCON 1999 (1999)Google Scholar
  19. 19.
    Van Gurp, J., Bosch, J.: Design Erosion: Problems and Causes. Journal of Systems and Software 61(2) (2002)Google Scholar
  20. 20.
    Van Gurp, J., et al.: Design Preservation Over Subsequent Releases of a Software Product: A Case Study of Baan ERP. Journal of Soft. Maint. & Evol: Research and Practice 17, 277–306 (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Mehwish Riaz
    • 1
  • Muhammad Sulayman
    • 1
  • Husnain Naqvi
    • 1
  1. 1.Department of Computer ScienceInternational Islamic UniversityIslamabadPakistan

Personalised recommendations