• DocumentCode
    3426622
  • Title

    Understanding Open Source Software through Software Archaeology: The Case of Nethack

  • Author

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

  • Author_Institution
    Penn State Univ., PA
  • fYear
    2006
  • fDate
    38808
  • Firstpage
    47
  • Lastpage
    58
  • 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
  • Keywords
    public domain software; software maintenance; software prototyping; Halstead complexity; Lehman law; McCabe cyclomatic complexity; Nethack evolution pattern; calculational logic complexity; code evolution; goal question metric approach; open source game; open source software evolution; program evolution; software archaeology; Application software; Documentation; Dynamic programming; Graphics; Logic; Materials testing; Open source software; Software engineering; Software measurement; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Workshop, 2006. SEW '06. 30th Annual IEEE/NASA
  • Conference_Location
    Columbia, MD
  • ISSN
    1550-6215
  • Print_ISBN
    0-7695-2624-1
  • Type

    conf

  • DOI
    10.1109/SEW.2006.37
  • Filename
    4090244