{"title":"Bayesian Learning for Software Architecture Recovery","authors":"O. Maqbool, H. Babri","doi":"10.1109/ICEE.2007.4287309","DOIUrl":null,"url":null,"abstract":"Understanding a software system at the architectural level is especially important when the system is to be adapted to meet changing requirements. However, architectural documentation is often unavailable or out-of-date. In this paper, we explore the use of Bayesian learning methods for automatic recovery of a software system's architecture, given incomplete or out-of-date documentation. We employ software modules with known classifications to train the Naive Bayes Classifier. We then use the classifier to place new instances, i.e. new software modules, into appropriate sub-systems. We evaluate the performance of the classifier by conducting experiments on a software system, and compare the results obtained with a manually prepared architecture. We present an analysis of the results, and also discuss the assumptions under which the results are expected to be meaningful.","PeriodicalId":291800,"journal":{"name":"2007 International Conference on Electrical Engineering","volume":"185 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2007 International Conference on Electrical Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICEE.2007.4287309","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14
Abstract
Understanding a software system at the architectural level is especially important when the system is to be adapted to meet changing requirements. However, architectural documentation is often unavailable or out-of-date. In this paper, we explore the use of Bayesian learning methods for automatic recovery of a software system's architecture, given incomplete or out-of-date documentation. We employ software modules with known classifications to train the Naive Bayes Classifier. We then use the classifier to place new instances, i.e. new software modules, into appropriate sub-systems. We evaluate the performance of the classifier by conducting experiments on a software system, and compare the results obtained with a manually prepared architecture. We present an analysis of the results, and also discuss the assumptions under which the results are expected to be meaningful.