Studying software evolution for taming software complexity

Steve D. Suh, Iulian Neamtiu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Citations (Scopus)

Abstract

Reducing software complexity is key to reducing software maintenance costs. To discover complexity-reducing practices, in this paper we study the evolution of seven sizable open source programs over a long period of time. We first measure how software complexity changes as programs evolve, and identify complexity-reducing releases. We then study the changes introduced in these releases and extract evolution patterns (we call them complexity-reducing steps) that lead to reduced program complexity. Finally, we categorize these steps and discuss their effectiveness. We believe that bringing these complexity-reducing measures to light, and encouraging developers to adopt them, has the potential to improve the state of practice in software maintenance.

Original languageEnglish (US)
Title of host publicationProceedings - 21st Australian Software Engineering Conference, ASWEC 2010
Pages3-12
Number of pages10
DOIs
StatePublished - Jul 12 2010
Externally publishedYes
Event21st Australian Software Engineering Conference, ASWEC 2010 - Auckland, New Zealand
Duration: Apr 6 2010Apr 9 2010

Publication series

NameProceedings of the Australian Software Engineering Conference, ASWEC

Other

Other21st Australian Software Engineering Conference, ASWEC 2010
CountryNew Zealand
CityAuckland
Period4/6/104/9/10

Fingerprint

Computer software maintenance
Costs

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • Open source
  • Refactoring
  • Software complexity
  • Software evolution
  • Software metrics

Cite this

Suh, S. D., & Neamtiu, I. (2010). Studying software evolution for taming software complexity. In Proceedings - 21st Australian Software Engineering Conference, ASWEC 2010 (pp. 3-12). [5475059] (Proceedings of the Australian Software Engineering Conference, ASWEC). https://doi.org/10.1109/ASWEC.2010.26
Suh, Steve D. ; Neamtiu, Iulian. / Studying software evolution for taming software complexity. Proceedings - 21st Australian Software Engineering Conference, ASWEC 2010. 2010. pp. 3-12 (Proceedings of the Australian Software Engineering Conference, ASWEC).
@inproceedings{343e848388894c56909acab3173d02ba,
title = "Studying software evolution for taming software complexity",
abstract = "Reducing software complexity is key to reducing software maintenance costs. To discover complexity-reducing practices, in this paper we study the evolution of seven sizable open source programs over a long period of time. We first measure how software complexity changes as programs evolve, and identify complexity-reducing releases. We then study the changes introduced in these releases and extract evolution patterns (we call them complexity-reducing steps) that lead to reduced program complexity. Finally, we categorize these steps and discuss their effectiveness. We believe that bringing these complexity-reducing measures to light, and encouraging developers to adopt them, has the potential to improve the state of practice in software maintenance.",
keywords = "Open source, Refactoring, Software complexity, Software evolution, Software metrics",
author = "Suh, {Steve D.} and Iulian Neamtiu",
year = "2010",
month = "7",
day = "12",
doi = "https://doi.org/10.1109/ASWEC.2010.26",
language = "English (US)",
isbn = "9780769540061",
series = "Proceedings of the Australian Software Engineering Conference, ASWEC",
pages = "3--12",
booktitle = "Proceedings - 21st Australian Software Engineering Conference, ASWEC 2010",

}

Suh, SD & Neamtiu, I 2010, Studying software evolution for taming software complexity. in Proceedings - 21st Australian Software Engineering Conference, ASWEC 2010., 5475059, Proceedings of the Australian Software Engineering Conference, ASWEC, pp. 3-12, 21st Australian Software Engineering Conference, ASWEC 2010, Auckland, New Zealand, 4/6/10. https://doi.org/10.1109/ASWEC.2010.26

Studying software evolution for taming software complexity. / Suh, Steve D.; Neamtiu, Iulian.

Proceedings - 21st Australian Software Engineering Conference, ASWEC 2010. 2010. p. 3-12 5475059 (Proceedings of the Australian Software Engineering Conference, ASWEC).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Studying software evolution for taming software complexity

AU - Suh, Steve D.

AU - Neamtiu, Iulian

PY - 2010/7/12

Y1 - 2010/7/12

N2 - Reducing software complexity is key to reducing software maintenance costs. To discover complexity-reducing practices, in this paper we study the evolution of seven sizable open source programs over a long period of time. We first measure how software complexity changes as programs evolve, and identify complexity-reducing releases. We then study the changes introduced in these releases and extract evolution patterns (we call them complexity-reducing steps) that lead to reduced program complexity. Finally, we categorize these steps and discuss their effectiveness. We believe that bringing these complexity-reducing measures to light, and encouraging developers to adopt them, has the potential to improve the state of practice in software maintenance.

AB - Reducing software complexity is key to reducing software maintenance costs. To discover complexity-reducing practices, in this paper we study the evolution of seven sizable open source programs over a long period of time. We first measure how software complexity changes as programs evolve, and identify complexity-reducing releases. We then study the changes introduced in these releases and extract evolution patterns (we call them complexity-reducing steps) that lead to reduced program complexity. Finally, we categorize these steps and discuss their effectiveness. We believe that bringing these complexity-reducing measures to light, and encouraging developers to adopt them, has the potential to improve the state of practice in software maintenance.

KW - Open source

KW - Refactoring

KW - Software complexity

KW - Software evolution

KW - Software metrics

UR - http://www.scopus.com/inward/record.url?scp=77954336065&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=77954336065&partnerID=8YFLogxK

U2 - https://doi.org/10.1109/ASWEC.2010.26

DO - https://doi.org/10.1109/ASWEC.2010.26

M3 - Conference contribution

SN - 9780769540061

T3 - Proceedings of the Australian Software Engineering Conference, ASWEC

SP - 3

EP - 12

BT - Proceedings - 21st Australian Software Engineering Conference, ASWEC 2010

ER -

Suh SD, Neamtiu I. Studying software evolution for taming software complexity. In Proceedings - 21st Australian Software Engineering Conference, ASWEC 2010. 2010. p. 3-12. 5475059. (Proceedings of the Australian Software Engineering Conference, ASWEC). https://doi.org/10.1109/ASWEC.2010.26