|
Aims of the ProjectAims of Project Recent research has explored the characteristics of software evolution, as revealed by empirical studies of a number of industrially evolved and open source software systems. The analysis indicates that the long-term evolution is not continuous and that stability in the productivity performance of the software team is displayed primarily within 'segments' of the software lifetime or, more generally, phases or stages. This observation is important for resource estimation and, generally, for prediction of evolutionary attributes such as functional growth of a system over releases and work-output of the software organisation. Based on the above observations, a recent research demonstrated the feasibility of an approach for creating and updating empirical models of evolutionary attributes. The approach consists of three activities: - economic phase identification (segmentation) - modelling and model calibration within an economic phase (modelling) - detection of transition to a new economic phase (change detection) Segmentation identifies whether the software of interest is evolving within a stable economic phase. Modelling calibrates empirical models to historical data within a phase. Change detection identifies a behavioural transition to a new economic phase. In the figure, output represents the resource estimates, the models associated to each identified stage and the time intervals over which models and estimates are to be considered valid. Previous worked has demonstrated the scope and feasibility of the approach in several case studies. The three activities were instantiated using qualitative abstraction, for identification of stages, regression for modelling and calibration of models within a given phase, and statistical change detection (e.g. sequential tests) for the identification of a segment transition. The case studies used metric data obtained from industrial processes. The accuracy of the models within their segment using generally accepted prediction accuracy indicators, such as the magnitude of relative error, was between 20 and 33 percent, improving what is typical in the literature of software cost estimation. The approach requires appropriate indicators of software evolutionary change. In this regard, the proposed investigation will take into account what has been learnt with regards to metrics, data gathering, cleansing and analysis during years of empirical investigation. The metrics used included a set of evolution work-rate indicators based on element counts, which can be derived from software engineering repositories such as configuration management databases, change logs and program headers. |
|
For further details contact: Juan Fernandez-Ramil or Sarah Beecham Links
|