Understanding open source software through software archaeology: The case of nethack

Melissa M. Simmons, Pam Vercellone-Smith, Phillip A. Laplante

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

5 Citations (Scopus)

Abstract

In this study open source software was examined from an archaeological perspective. The objective: to explore the evolution of a long-lived open source project with the intention of learning how code evolution has progressed over time. This investigation provides a case study of Nethack, an enormously popular open source game that has been in development for more than a decade. The Goal Question Metric approach was employed to derive measurement goals for the evaluation of open source software (OSS) evolution in Nethack. According to Lehman's laws, the incremental growth size of successive releases tends to decline during the active life of an evolving program. Our results demonstrate that the evolution patterns observed for Nethack do not consistently conform to Lehman's laws. The growth in Nethack's tarball distribution size, as well as lines of code, exhibited a linear increase in growth in this investigation. Additionally, Lehman's laws dictate that the complexity of a system will increase as it ages. Interestingly, in Nethack, the McCabe cyclomatic complexity was found to decrease with successive releases while the Halstead complexity increased. These results suggest that while the structure complexity of Nethack declined with successive releases, the complexity of calculational logic increased. These findings raise questions concerning the evolution of other OSS applications.

Original languageEnglish (US)
Title of host publicationProceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30
Pages47-55
Number of pages9
DOIs
StatePublished - Dec 1 2006
Event30th Annual IEEE/NASA Software Engineering Workshop, SEW-30 - Columbia, MD, United States
Duration: Apr 24 2006Apr 28 2006

Publication series

NameProceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30

Other

Other30th Annual IEEE/NASA Software Engineering Workshop, SEW-30
CountryUnited States
CityColumbia, MD
Period4/24/064/28/06

Fingerprint

Open source software

All Science Journal Classification (ASJC) codes

  • Computer Science(all)
  • Software
  • Control and Systems Engineering

Cite this

Simmons, M. M., Vercellone-Smith, P., & Laplante, P. A. (2006). Understanding open source software through software archaeology: The case of nethack. In Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30 (pp. 47-55). [4090244] (Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30). https://doi.org/10.1109/SEW.2006.37
Simmons, Melissa M. ; Vercellone-Smith, Pam ; Laplante, Phillip A. / Understanding open source software through software archaeology : The case of nethack. Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30. 2006. pp. 47-55 (Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30).
@inproceedings{637e1db474414967a77ca906f606b44a,
title = "Understanding open source software through software archaeology: The case of nethack",
abstract = "In this study open source software was examined from an archaeological perspective. The objective: to explore the evolution of a long-lived open source project with the intention of learning how code evolution has progressed over time. This investigation provides a case study of Nethack, an enormously popular open source game that has been in development for more than a decade. The Goal Question Metric approach was employed to derive measurement goals for the evaluation of open source software (OSS) evolution in Nethack. According to Lehman's laws, the incremental growth size of successive releases tends to decline during the active life of an evolving program. Our results demonstrate that the evolution patterns observed for Nethack do not consistently conform to Lehman's laws. The growth in Nethack's tarball distribution size, as well as lines of code, exhibited a linear increase in growth in this investigation. Additionally, Lehman's laws dictate that the complexity of a system will increase as it ages. Interestingly, in Nethack, the McCabe cyclomatic complexity was found to decrease with successive releases while the Halstead complexity increased. These results suggest that while the structure complexity of Nethack declined with successive releases, the complexity of calculational logic increased. These findings raise questions concerning the evolution of other OSS applications.",
author = "Simmons, {Melissa M.} and Pam Vercellone-Smith and Laplante, {Phillip A.}",
year = "2006",
month = "12",
day = "1",
doi = "10.1109/SEW.2006.37",
language = "English (US)",
isbn = "0769526241",
series = "Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30",
pages = "47--55",
booktitle = "Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30",

}

Simmons, MM, Vercellone-Smith, P & Laplante, PA 2006, Understanding open source software through software archaeology: The case of nethack. in Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30., 4090244, Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30, pp. 47-55, 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30, Columbia, MD, United States, 4/24/06. https://doi.org/10.1109/SEW.2006.37

Understanding open source software through software archaeology : The case of nethack. / Simmons, Melissa M.; Vercellone-Smith, Pam; Laplante, Phillip A.

Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30. 2006. p. 47-55 4090244 (Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30).

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

TY - GEN

T1 - Understanding open source software through software archaeology

T2 - The case of nethack

AU - Simmons, Melissa M.

AU - Vercellone-Smith, Pam

AU - Laplante, Phillip A.

PY - 2006/12/1

Y1 - 2006/12/1

N2 - In this study open source software was examined from an archaeological perspective. The objective: to explore the evolution of a long-lived open source project with the intention of learning how code evolution has progressed over time. This investigation provides a case study of Nethack, an enormously popular open source game that has been in development for more than a decade. The Goal Question Metric approach was employed to derive measurement goals for the evaluation of open source software (OSS) evolution in Nethack. According to Lehman's laws, the incremental growth size of successive releases tends to decline during the active life of an evolving program. Our results demonstrate that the evolution patterns observed for Nethack do not consistently conform to Lehman's laws. The growth in Nethack's tarball distribution size, as well as lines of code, exhibited a linear increase in growth in this investigation. Additionally, Lehman's laws dictate that the complexity of a system will increase as it ages. Interestingly, in Nethack, the McCabe cyclomatic complexity was found to decrease with successive releases while the Halstead complexity increased. These results suggest that while the structure complexity of Nethack declined with successive releases, the complexity of calculational logic increased. These findings raise questions concerning the evolution of other OSS applications.

AB - In this study open source software was examined from an archaeological perspective. The objective: to explore the evolution of a long-lived open source project with the intention of learning how code evolution has progressed over time. This investigation provides a case study of Nethack, an enormously popular open source game that has been in development for more than a decade. The Goal Question Metric approach was employed to derive measurement goals for the evaluation of open source software (OSS) evolution in Nethack. According to Lehman's laws, the incremental growth size of successive releases tends to decline during the active life of an evolving program. Our results demonstrate that the evolution patterns observed for Nethack do not consistently conform to Lehman's laws. The growth in Nethack's tarball distribution size, as well as lines of code, exhibited a linear increase in growth in this investigation. Additionally, Lehman's laws dictate that the complexity of a system will increase as it ages. Interestingly, in Nethack, the McCabe cyclomatic complexity was found to decrease with successive releases while the Halstead complexity increased. These results suggest that while the structure complexity of Nethack declined with successive releases, the complexity of calculational logic increased. These findings raise questions concerning the evolution of other OSS applications.

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

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

U2 - 10.1109/SEW.2006.37

DO - 10.1109/SEW.2006.37

M3 - Conference contribution

AN - SCOPUS:46449126306

SN - 0769526241

SN - 9780769526249

T3 - Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30

SP - 47

EP - 55

BT - Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30

ER -

Simmons MM, Vercellone-Smith P, Laplante PA. Understanding open source software through software archaeology: The case of nethack. In Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30. 2006. p. 47-55. 4090244. (Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop, SEW-30). https://doi.org/10.1109/SEW.2006.37