Issue No. 06 - June (2015 vol. 41)
Theodore Chaikalis , Department of Applied Informatics, University of Macedonia, Thessaloniki, Greece
Alexander Chatzigeorgiou , Department of Applied Informatics, University of Macedonia, Thessaloniki, Greece
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.
Object oriented modeling, Predictive models, Forecasting, Software systems, Analytical models, Market research
T. Chaikalis and A. Chatzigeorgiou, "Forecasting Java Software Evolution Trends Employing Network Models," in IEEE Transactions on Software Engineering, vol. 41, no. 6, pp. 582-602, 2015.