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
Link To Document :
بازگشت