A Probabilistic Approach to Predict Changes in Object-Oriented Software Systems

  • Authors:
  • Ali R. Sharafat;Ladan Tahvildari

  • Affiliations:
  • University of Waterloo, Ontario, Canada;University of Waterloo, Ontario, Canada

  • Venue:
  • CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Predicting the changes in the next release of a software system has become a quest during its maintenance phase. Such a prediction can help managers to allocate resources more appropriately which results in reducing costs associated with software maintenance activities. A measure of change- proneness of a software system also provides a good understanding of its architectural stability. This research work proposes a novel approach to predict changes in an object oriented software system. The rationale behind this approach is that in a well-designed software system, feature enhancement or corrective maintenance should affect a limited amount of existing code. The goal is to quantify this aspect of quality by assessing the probability that each class will change in a future generation. Our proposed probabilistic approach uses the dependencies obtained from the UML diagrams, as well as other data extracted from source code of several releases of a software system using reverse engineering techniques. The proposed systematic approach has been evaluated on a multi-version medium size open source project namely JFlex, The Fast Scanner Generator for Java. The obtained results indicate the simplicity and accuracy of our approach in the comparison with existing methods in the literature.