{"title":"软件架构恢复的贝叶斯学习","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":"{\"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}","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}
Bayesian Learning for Software Architecture Recovery
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.