Towards Trustworthy Refactoring in Erlang
D\'aniel Horp\'acsi, Judit K\H{o}szegi, Simon Thompson

TL;DR
This paper introduces a rigorous, high-level notation for defining and verifying trustworthy refactoring transformations in Erlang, enhancing confidence in tool-assisted code modifications.
Contribution
It presents a novel, extensible specification language for Erlang refactoring that is both verifiable and executable, with demonstrated practical examples.
Findings
The notation enables defining complex refactorings in Erlang.
Refactorings can be verified for correctness before application.
The approach improves trustworthiness of automated code transformations.
Abstract
Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in applying them on arbitrarily extensive and complex code in order to improve style or efficiency. We propose a simple, high-level but rigorous, notation for defining refactoring transformations in Erlang, and show that this notation provides an extensible, verifiable and executable specification language for refactoring. To demonstrate the applicability of our approach, we show how to define and verify a number of example refactorings in the system.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
