Abstract -Prediction models of software change requests are useful for supporting rational and timely resource allocation to the evolution process. In this paper we use a time series forecasting model to predict software maintenance and evolution requests in an open source software project (Eclipse), as an example of projects with seasonal release cycles. We build an ARIMA model based on data collected from Eclipse's change request tracking system since the project's start. A change request may refer to defects found in the software, but also to suggested improvements in the system under scrutiny. Our model includes the identification of seasonal patterns and tendencies, and is validated through the forecast of the change requests evolution for the next 12 months. The usage of seasonal information significantly improves the estimation ability of this model, when compared to other ARIMA models found in the literature, and does so for a much longer estimation period. Being able to accurately forecast the change requests' evolution over a fairly long time period is an important ability for enabling adequate process control in maintenance activities, and facilitates effort estimation and timely resources allocation. The approach presented in this paper is suitable for projects with a relatively long history, as the model building process relies on historic data. Keywords: Software Evolution, Eclipse, Bugzilla, Change requests prediction model, ARIMA. Software process managers need to be able to predict the evolution of change requests over time, as this helps them planning ahead the resources required for evolution. The evolution process is not necessarily a stationary one. There may be periods where a large number of change requests, which may refer to defects found in the software or to suggested improvements, are received, interleaved with other periods where the number of requests is lower. A model for predicting the number of change requests and the time required to address them must take into account this variability, otherwise its accuracy will decrease. In long lived software development processes we can expect the profile of change requests to reflect the pace of the releases of the project. While in some projects the timings of the releases may be very flexible and, in that sense, harder to predict beforehand, in Eclipse and many other projects there is a seasonal pattern for releasing new versions and milestones of the project. If we build this seasonal information into prediction models, this is likely to improve their accuracy, compared to models without that information. While the evolution of change requests is likely to exhibit trends, the seasonal patterns resulting from the release policy followed in the project are expected to affect those properties. We propose a prediction model that allows to accurately forecast the distribution of change requests for a large period (12 months, in this paper). A time series is a sequence of data points measured at successive, uniformly spaced, data points. Adjacent observations are not independent. Time series analysis provides methods for analyzing the nature of those dependencies. Often, time series can be described in terms of two components: trend and seasonality. A trend is a systematic linear or non-linear component that does not repeat within the time range captured by our data. In contrast, seasonality is similar in form, but repeats itself in systematic intervals over time [1] . In this paper, we build a forecast model for the Eclipse project, given the number of previous and current change requests. The model is an autoregressive integrated moving average (ARIMA) model, fitted to time series data of change requests, to allow a deeper understanding of the evolution of the number of change requests and to predict future data points in the change requests time series. We aim at addressing three research questions: (RQ1) Can we detect a seasonal pattern in the number of change requests submitted to the change requests tracking system? If so, what is causing that pattern? (RQ2) Is there a statistically relevant trend in the distribution of change requests over time? (RQ3) Is the usage of ARIMA models with seasonal information a valid and accurate approach to forecasting change requests in a long-lived, open-source, software system for which a seasonal releases pattern occurs? The goal of this study is to analyze the Eclipse change request system, for the purpose of forecasting its evolution with respect to the number of change requests. The perspective is that of researchers who intend to investigate how different approaches can be used by project managers to accurately forecast the evolution of the change requests. The context is an observational study on the Eclipse change requests available in Eclipse's Bugzilla repository. The included change requests range from November 2001 to December 2009, which corresponds to over 270000 change requests. As such, the resulting model is expected to be valid in the context of Eclipse. The approach is generic and applicable to other software systems with a seasonal release policy, such as Eclipse's.
Goulão et al. REF used time series technique for longterm prediction of the overall number of change requests.
Software Evolution Prediction Using Seasonal Time Analysis: A Comparative Study
2012 16th European Conference on Software Maintenance and Reengineering
2012 16th European Conference on Software Maintenance and Reengineering
Computer Science