@inproceedings{cd13581de3d54627933cc3e9c4d38578,
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",
doi = "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",
note = "21st Australian Software Engineering Conference, ASWEC 2010 ; Conference date: 06-04-2010 Through 09-04-2010",
}