Towards a Difference Detection Algorithm Aware of Refactoring-Related Changes

F. J. Silva, E. Borel, Evandro Lopes, Leonardo Gresta Paulino Murta
{"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}
引用次数: 4

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.
一种能够感知重构相关变化的差分检测算法
在软件生命周期中,工件会根据纠正性和演进性需求而变化。这些更改通常需要重构源代码。然而,由于缺少或低效地检测文件内部和文件之间的移动代码块,传统的diff算法不能精确地捕获这种类型的更改。本文介绍了一种方法,旨在支持理解两个软件版本的不同之处,即使执行了与重构相关的更改。它分析不同的粒度,以便在不需要表达计算能力的情况下精确检测块移动。实验结果表明,与传统方法相比,我们的方法在线和词粒度上都提供了更高的精度。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信