Understanding Large-scale Codebase Refactoring through Semantic-aware Differencing

DEKNOP Céline;et.al.
(2024) IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) — Location: Finland (12.March.2024)

Files

SANER2024-2.pdf
  • Open Access
  • Adobe PDF
  • 655.24 KB

Details

Authors
  • DEKNOP CélineUCLouvain
    Author
  • et. al.
Abstract
Code refactoring is the act of restructuring the source code of a software system, to improve its design without changing the observable behaviour. When applying large automated refactorings, large either in number of refactorings applied or in codebase size, the refactored code may become significantly different from the original code. This makes it harder to provide evidence that the refactorings indeed preserve the original code behaviour. To demonstrate that the flow of control of a program remains equivalent before and after refactoring, we propose a tool that verifies trace equivalence on control flow graphs. Such a tool increases code owner's trust in the automated refactoring process. We present the tool's algorithm, implementation and visualisation support and illustrate and validate it by applying it on a large industrial case.
Affiliations

Citations

DEKNOP Céline, & et al. (2024). Understanding Large-scale Codebase Refactoring through Semantic-aware Differencing. IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Finland. https://hdl.handle.net/2078.5/26917