Leandra Mara, F. Dantas, Gustavo Honorato, Alessandro F. Garcia, C. Lucena
{"title":"进化代码的模块化缺陷检测:历史可以揭示什么?","authors":"Leandra Mara, F. Dantas, Gustavo Honorato, Alessandro F. Garcia, C. Lucena","doi":"10.1109/SBCARS.2010.11","DOIUrl":null,"url":null,"abstract":"Modularity flaws can hamper the reuse and maintainability of code or even indicating the architecture degradation of a system. Therefore, researchers have increasingly investigated new mechanisms to assist the detection of these anomalies. Strategies for detection these flaws usually ignore information about the software change history. However, recent studies report that these strategies have been considered counter-productive. This article proposes and evaluates the use of detection strategies consisting of metrics that consider historic properties of evolving source code. It also proposes tool support for history-sensitive detection of modularity flaws. The strategies are evaluated in terms of precision and recall to detect three classic modularity flaws over 16 versions of two systems. Several observations were made, including: (i) exploiting information about the code evolution can contribute to effective detection of modularity flaws; and (ii) in both systems, history-sensitive strategies presented results superior to conventional strategies.","PeriodicalId":114216,"journal":{"name":"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"890 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Detecting Modularity Flaws of Evolving Code: What the History Can Reveal?\",\"authors\":\"Leandra Mara, F. Dantas, Gustavo Honorato, Alessandro F. Garcia, C. Lucena\",\"doi\":\"10.1109/SBCARS.2010.11\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Modularity flaws can hamper the reuse and maintainability of code or even indicating the architecture degradation of a system. Therefore, researchers have increasingly investigated new mechanisms to assist the detection of these anomalies. Strategies for detection these flaws usually ignore information about the software change history. However, recent studies report that these strategies have been considered counter-productive. This article proposes and evaluates the use of detection strategies consisting of metrics that consider historic properties of evolving source code. It also proposes tool support for history-sensitive detection of modularity flaws. The strategies are evaluated in terms of precision and recall to detect three classic modularity flaws over 16 versions of two systems. Several observations were made, including: (i) exploiting information about the code evolution can contribute to effective detection of modularity flaws; and (ii) in both systems, history-sensitive strategies presented results superior to conventional strategies.\",\"PeriodicalId\":114216,\"journal\":{\"name\":\"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse\",\"volume\":\"890 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2010-09-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SBCARS.2010.11\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBCARS.2010.11","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Detecting Modularity Flaws of Evolving Code: What the History Can Reveal?
Modularity flaws can hamper the reuse and maintainability of code or even indicating the architecture degradation of a system. Therefore, researchers have increasingly investigated new mechanisms to assist the detection of these anomalies. Strategies for detection these flaws usually ignore information about the software change history. However, recent studies report that these strategies have been considered counter-productive. This article proposes and evaluates the use of detection strategies consisting of metrics that consider historic properties of evolving source code. It also proposes tool support for history-sensitive detection of modularity flaws. The strategies are evaluated in terms of precision and recall to detect three classic modularity flaws over 16 versions of two systems. Several observations were made, including: (i) exploiting information about the code evolution can contribute to effective detection of modularity flaws; and (ii) in both systems, history-sensitive strategies presented results superior to conventional strategies.