Using Bayesian Belief Networks to Predict Change Propagation in Software Systems

  • Authors:
  • Siavash Mirarab;Alaa Hassouna;Ladan Tahvildari

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

  • Venue:
  • ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

During software evolution, developers modify various modules to handle new requirements or to fix existing bugs. Such changes usually propagate to related modules throughout the system. Program comprehension techniques are able to predict this change propagation phenomenon. In this paper, we introduce a novel approach that predicts the possible affected system modules, given a change in the system. We use Bayesian Belief Networks as a probabilistic tool to make such predictions in a systematic way. This novel technique mainly relies on two sources of information: dependency metrics (calculated using static analysis) and change history extracted from a version control repository. We evaluate our approach by examining all significant revisions of Azureus2, an open-source Java system. The results show that the predicted change probabilities reflect actual module changes even in the early stages of the software development.