Swinburne
Browse
ARCHIVE
Appendix E - Growth Dynamics Data Files.zip (571.97 kB)
ARCHIVE
Appendix F - Change Dynamics Data Files.zip (1.58 MB)
ARCHIVE
Appendix B - Raw Metric Data Files.zip (54.25 MB)
DOCUMENT
Rajesh Vasa Thesis.pdf (2.13 MB)
1/0
4 files

Growth and change dynamics in open source software systems

thesis
posted on 2024-07-13, 03:50 authored by Rajesh Vasa
In this thesis we address the problem of identifying where, in successful software systems, maintenance effort tends to be devoted. By examining a larger data set of open source systems we show that maintenance effort is, in general, spent on addition of new classes. Interestingly, efforts to base new code on stable classes will make those classes less stable as they need to be modified to meet the needs of the new clients. This thesis advances the state of the art in terms of our understanding of how evolving software systems grow and change. We propose an innovative method to better understand growth dynamics in evolving software systems. Rather than relying on the commonly used method of analysing aggregate system size growth over time, we analyze how the probability distribution of a range of software metrics change over time. Using this approach we find that the process of evolution typically drives the popular classes within a software system to gain additional clients over time and the increase in popularity makes these classes change-prone. Furthermore, we show that once a set of classes have been released, they resist change and the modifications that they do undergo are in general, small adaptations rather than substantive rework. The methods we developed to analyze evolution can be used to detect releases with systemic and architectural changes as well as identify presence of machine generated code. Finally, we also extend the body of knowledge with respect to validation of the Laws of Software Evolution as postulated by Lehman. We find consistent support for the applicability of the following laws of software evolution: first law Continuing Change, third law Self Regulation, fifth law Conservation of Familiarity, and the sixth law Continuing Growth. However, our analysis was unable to find evidence to support the other laws.

History

Thesis type

  • Thesis (PhD)

Thesis note

A thesis presented for the degree of Doctor of Philosophy, Swinburne University of Technology, 2010.

Copyright statement

Copyright © 2010 Rajesh Vasa.

Supervisors

Jean-Guy Schneider

Language

eng

Usage metrics

    Theses

    Categories

    No categories selected

    Keywords

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC