{"title":"Using Bayesian Belief Networks to Predict Change Propagation in Software Systems","authors":"S. Mirarab, Alaa Hassouna, L. Tahvildari","doi":"10.1109/ICPC.2007.41","DOIUrl":null,"url":null,"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 Azureusl, 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.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"56 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"59","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"15th IEEE International Conference on Program Comprehension (ICPC '07)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICPC.2007.41","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 59
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 Azureusl, 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.