Wallace Ribeiro, V. Braganholo, Leonardo Gresta Paulino Murta
{"title":"A Study about the Life Cycle of Code Anomalies","authors":"Wallace Ribeiro, V. Braganholo, Leonardo Gresta Paulino Murta","doi":"10.1109/SBCARS.2016.22","DOIUrl":null,"url":null,"abstract":"Software projects usually follow key architectural principles, such as modularity, high cohesion, low coupling, etc. However, during software evolution, sometimes developers introduce changes that are not compatible with these principles, called code anomalies. Some approaches aim at detecting and fixing code anomalies, but they miss a deeper discussion about the introduction patterns and life cycle of such code anomalies. In this paper we analyze several projects to understand the incidence of code anomalies and their life cycle. In addition, we correlate code anomalies with some project characteristics and with other code anomalies. For example, we could observe that Shotgun Surgery and God Method anomalies never happen together. Moreover, we observed that Shotgun Surgery, God Package, and Misplaced Class anomaly life cycles are closely correlated.","PeriodicalId":122920,"journal":{"name":"2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBCARS.2016.22","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Software projects usually follow key architectural principles, such as modularity, high cohesion, low coupling, etc. However, during software evolution, sometimes developers introduce changes that are not compatible with these principles, called code anomalies. Some approaches aim at detecting and fixing code anomalies, but they miss a deeper discussion about the introduction patterns and life cycle of such code anomalies. In this paper we analyze several projects to understand the incidence of code anomalies and their life cycle. In addition, we correlate code anomalies with some project characteristics and with other code anomalies. For example, we could observe that Shotgun Surgery and God Method anomalies never happen together. Moreover, we observed that Shotgun Surgery, God Package, and Misplaced Class anomaly life cycles are closely correlated.