F. J. Silva, E. Borel, Evandro Lopes, Leonardo Gresta Paulino Murta
{"title":"一种能够感知重构相关变化的差分检测算法","authors":"F. J. Silva, E. Borel, Evandro Lopes, Leonardo Gresta Paulino Murta","doi":"10.1109/SBES.2014.21","DOIUrl":null,"url":null,"abstract":"During the software life cycle, artifacts change in response to both corrective and evolutive demands. These changes usually entail source-code refactorings. However, conventional diff algorithms do not precisely capture such type of changes due to missing or inefficient detection of moving blocks of code within and amongst files. This paper introduces an approach designed to support understanding how two software versions differ, even if refactoring-related changes were performed. It analyzes different granularities in order to precisely detect block moves without requiring expressive computational power. The experimental results show that our approach provides results with higher precision for both line and word granularities, if compared to conventional approaches.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"163 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Towards a Difference Detection Algorithm Aware of Refactoring-Related Changes\",\"authors\":\"F. J. Silva, E. Borel, Evandro Lopes, Leonardo Gresta Paulino Murta\",\"doi\":\"10.1109/SBES.2014.21\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"During the software life cycle, artifacts change in response to both corrective and evolutive demands. These changes usually entail source-code refactorings. However, conventional diff algorithms do not precisely capture such type of changes due to missing or inefficient detection of moving blocks of code within and amongst files. This paper introduces an approach designed to support understanding how two software versions differ, even if refactoring-related changes were performed. It analyzes different granularities in order to precisely detect block moves without requiring expressive computational power. The experimental results show that our approach provides results with higher precision for both line and word granularities, if compared to conventional approaches.\",\"PeriodicalId\":426125,\"journal\":{\"name\":\"2014 Brazilian Symposium on Software Engineering\",\"volume\":\"163 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-09-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2014 Brazilian Symposium on Software Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SBES.2014.21\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 Brazilian Symposium on Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBES.2014.21","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards a Difference Detection Algorithm Aware of Refactoring-Related Changes
During the software life cycle, artifacts change in response to both corrective and evolutive demands. These changes usually entail source-code refactorings. However, conventional diff algorithms do not precisely capture such type of changes due to missing or inefficient detection of moving blocks of code within and amongst files. This paper introduces an approach designed to support understanding how two software versions differ, even if refactoring-related changes were performed. It analyzes different granularities in order to precisely detect block moves without requiring expressive computational power. The experimental results show that our approach provides results with higher precision for both line and word granularities, if compared to conventional approaches.