Studying software evolution for taming software complexity

Steve D. Suh, Iulian Neamtiu

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

13 Scopus citations

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 - 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
Country/TerritoryNew Zealand
CityAuckland
Period4/6/104/9/10

All Science Journal Classification (ASJC) codes

  • Software

Keywords

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

Fingerprint

Dive into the research topics of 'Studying software evolution for taming software complexity'. Together they form a unique fingerprint.

Cite this