Analysis and Prediction of Design Model Evolution Using Time Series

Tools which support Model-Driven Engineering have to be evaluated and tested. In the domain of model differencing and model versioning, sequences of software models (model histories), in which a model is obtained from its immediate predecessor by some modification, are of special interest. Unfortunately, in this application domain adequate real test models are scarcely available and must be artificially created. To this end, model generators were proposed in recent years. Generally, such model generators should be configured in a way that the generated sequences of models are as realistic as possible, i.e. they should mimic the changes that happen in real software models. Hence, it is a necessary prerequisite to analyze and to stochastically model the evolution (changes) of real software systems at the abstraction level of models. In this paper, we present a new approach to statistically analyze the evolution of models. Our approach uses time series as a statistical method to capture the dynamics of the evolution. We applied this approach to several typical projects and we successfully modeled their evolutions. The time series models could predict the future changes of the next revisions of the systems with good accuracies. The obtained time series models are used to create more realistic model histories for model versioning and model differencing tools.

[1]  Euromoney Publications Plc Advanced Concepts and Applications , 2021 .

[2]  Israel Herraiz A statistical examination of the evolution and properties of libre software , 2009, 2009 IEEE International Conference on Software Maintenance.

[3]  George E. P. Box,et al.  Time Series Analysis: Box/Time Series Analysis , 2008 .

[4]  Gwilym M. Jenkins,et al.  Time series analysis, forecasting and control , 1971 .

[5]  Eric R. Ziegel,et al.  Analysis of Financial Time Series , 2002, Technometrics.

[6]  Giuliano Antoniol,et al.  Trend Analysis and Issue Prediction in Large-Scale Open Source Systems , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[7]  Rajesh Vasa,et al.  Growth and Change Dynamics in Open Source Software Systems , 2010 .

[8]  Udo Kelter,et al.  Generating realistic test models for model processing tools , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[9]  Edwin Lughofer,et al.  Evolving Fuzzy Systems - Methodologies, Advanced Concepts and Applications , 2011, Studies in Fuzziness and Soft Computing.

[10]  Udo Kelter,et al.  Adaptability of model comparison tools , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[11]  Udo Kelter,et al.  Controlled Generation of Models with Defined Properties , 2012, Software Engineering.

[12]  Steven C. Wheelwright,et al.  Forecasting: Methods and Applications, 3rd Ed , 1997 .

[13]  Oscar Nierstrasz,et al.  The Inevitable Stability of Software Change , 2007, 2007 IEEE International Conference on Software Maintenance.

[14]  Uzma Raja,et al.  Modeling software evolution defects: a time series approach , 2009, J. Softw. Maintenance Res. Pract..

[15]  Udo Kelter,et al.  Statistical Analysis of Changes for Synthesizing Realistic Test Models , 2013, Software Engineering.

[16]  Giuliano Antoniol,et al.  Modeling clones evolution through time series , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[17]  Richard A. Davis,et al.  Introduction to time series and forecasting , 1998 .

[18]  Ruey S. Tsay,et al.  Analysis of Financial Time Series: Tsay/Analysis of Financial Time Series , 2005 .

[19]  Donald J. Bagert,et al.  Software evolution from a time-series perspective , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[20]  Manuel Wimmer,et al.  A survey on model versioning approaches , 2009, Int. J. Web Inf. Syst..

[21]  Eleni Stroulia,et al.  Analyzing the evolutionary history of the logical design of object-oriented software , 2005, IEEE Transactions on Software Engineering.

[22]  Richard F. Paige,et al.  Different models for model matching: An analysis of approaches to support model differencing , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[23]  Qing Wang,et al.  Time series analysis for bug number prediction , 2010, The 2nd International Conference on Software Engineering and Data Mining.

[24]  Z. Sun,et al.  Traffic predictability based on ARIMA/GARCH model , 2006, 2006 2nd Conference on Next Generation Internet Design and Engineering, 2006. NGI '06..

[25]  R. Shanmugam Introduction to Time Series and Forecasting , 1997 .