• DocumentCode
    1757382
  • Title

    Forecasting Java Software Evolution Trends Employing Network Models

  • Author

    Chaikalis, Theodore ; Chatzigeorgiou, Alexander

  • Author_Institution
    Dept. of Appl. Inf., Univ. of Macedonia, Thessaloniki, Greece
  • Volume
    41
  • Issue
    6
  • fYear
    2015
  • fDate
    June 1 2015
  • Firstpage
    582
  • Lastpage
    602
  • Abstract
    The evolution of networks representing systems in various domains, including social networks, has been extensively studied enabling the development of growth models which govern their behavior over time. The architecture of software systems can also be naturally represented in the form of networks, whose properties change as software evolves. In this paper we attempt to model several aspects of graphs representing object-oriented software systems as they evolve over a number of versions. The goal is to develop a prediction model by considering global phenomena such as preferential attachment, past evolutionary trends such as the tendency of classes to create fewer relations as they age, as well as domain knowledge in terms of principles that have to be followed in object-oriented design. The derived models can provide insight into the future trends of software and potentially form the basis for eliciting improved or novel laws of software evolution. The forecasting power of the proposed model is evaluated against the actual evolution of 10 open-source projects and the achieved accuracy in the prediction of several network and software properties, which reflect the underlying system design, appears to be promising.
  • Keywords
    Java; graph theory; object-oriented programming; social networking (online); software architecture; software maintenance; Java software evolution trend; object-oriented software system; prediction model; preferential attachment; social network; software system architecture; Analytical models; Forecasting; Market research; Object oriented modeling; Predictive models; Software systems; Graphs and networks; Objectoriented design methods; Restructuring; Software Architectures; and reengineering; object-oriented design methods; reengineering; restructuring; reverse engineering; software architectures;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2014.2381249
  • Filename
    6985636