Mining historical changes to predict software evolution. (19th March 2021) - Hammad, Mustafa
Software evolution reflects the progress volume of the development process. This increasing volume is based on a sequence of incremental changes and maintenance activities. As volume increases, more resources are needed to control and handle future change requests. Developers and designers need to be able to analyse and predict how the software evolves in advance, in order to better allocate needed resources. Better and correct predictions help in estimating the required resources as cost and maintainers. Prediction can also help in setting the strategies and assumptions to solve the problems that can be encountered when evolving a project from version to the next. This paper presents a prediction model to predict the evolution of software projects. A set of hypotheses are examined to predict the evolution of specific parameters based on machine learning techniques. Data mining approaches are used to test the hypothesis on different versions of two software projects. Experimental results showed that future changes in software systems can be predicted using changed parameters of the previous version.