Towards a Difference Detection Algorithm Aware of Refactoring-Related Changes

Fernanda Floriano Silva, Eraldo Borel, Evandro Lopes, Leonardo Gresta Paulino Murta · 2014

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 soft-ware versions differ, even if refactoring-related changes were performed. It analyzes different granularities in order to pre-cisely 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.

Read the paper · More papers on PaperTik