Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

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

  • Conference paper
Advances in Software Engineering (ASEA 2009)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Aoyama, M.: Continuous and Discontinuous Software Evolution: Aspects of Software Evolution across Multiple Product Lines. In: IWPSE 2001 (2001)

    Google Scholar 

  2. Henderson-sellers, B.: Object-Oriented Metrics, Measures of Complexity. Prentice-Hall, Englewood Cliffs (1996)

    Google Scholar 

  3. Carriere, S.J., et al.: The Perils of Reconstructing Architectures. In: ISAW 1998 (1998)

    Google Scholar 

  4. Chidamber, S.R., Kamerer, C.F.: A metrics Suite for Object-Oriented Design. IEEE Trans. Soft. Eng. SE-20(6), 476–493 (1994)

    Article  Google Scholar 

  5. Dobrica, L., Niemela, E.: A Survey on Software Architecture Analysis Methods. IEEE Trans. Soft. Eng. 28(7), 638–653 (2002)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  7. Williams, B.J., Carver, J.C.: Characterizing Software Architecture Changes: An Initial Study. In: ESEM 2007, pp. 410–419 (2007)

    Google Scholar 

  8. Hochstein, L., Lindvall, M.: Combating Architectural Degeneration: A survey. Information and Software Technology 47(10), 693–707 (2005)

    Article  Google Scholar 

  9. Kraft, J.: Software Aging and Code Decay Phenomenon. TR, Mälardalen University (2007)

    Google Scholar 

  10. Yang, Y., et al.: Scenarios for Mining the Software Architecture Evolution. In: MSR 2006 (2006)

    Google Scholar 

  11. Lehman, M.M., Belady, L.A.: Program Evolution – Processes of Software Change. Academic Press, London (1985)

    Google Scholar 

  12. Parnas, D.L.: Software Aging. In: ICSE 1994, pp. 279–287 (1994)

    Google Scholar 

  13. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  14. Pressman, R.S.: Software Engineering – A Practitioner’s Approach. Sixth Edition. McGraw-Hill, New York (2005)

    Google Scholar 

  15. Ramil, J.F.: Algorithmic Cost Estimation for Software Evolution. In: ICSE 2000 (2000)

    Google Scholar 

  16. Stringfellow, C., et al.: Comparison of Software Architecture Reverse Engineering Methods. Information and Software Technology 48, 484–497 (2005)

    Article  Google Scholar 

  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. Tran, J.B., et al.: Forward and Reverse Repair of Architecture. In: CASCON 1999 (1999)

    Google Scholar 

  19. Van Gurp, J., Bosch, J.: Design Erosion: Problems and Causes. Journal of Systems and Software 61(2) (2002)

    Google Scholar 

  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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Riaz, M., Sulayman, M., Naqvi, H. (2009). Architectural Decay during Continuous Software Evolution and Impact of ‘Design for Change’ on Software Architecture. In: Ślęzak, D., Kim, Th., Kiumi, A., Jiang, T., Verner, J., Abrahão, S. (eds) Advances in Software Engineering. ASEA 2009. Communications in Computer and Information Science, vol 59. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10619-4_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10619-4_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10618-7

  • Online ISBN: 978-3-642-10619-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics