Seres, Bendegúz, Horpácsi, Dániel, Thompson, Simon (2024) Is This Really a Refactoring? Automated Equivalence Checking for Erlang Projects. In: Erlang 2024: Proceedings of the 23rd ACM SIGPLAN International Workshop on Erlang. . pp. 55-66. ACM ISBN 979-8-4007-1098-8. (doi:10.1145/3677995.3678194) (KAR id:107137)
PDF
Publisher pdf
Language: English
This work is licensed under a Creative Commons Attribution 4.0 International License.
|
|
Download this file (PDF/541kB) |
Preview |
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: https://doi.org/10.1145/3677995.3678194 |
Abstract
We present an automated approach to checking whether a change to a repository is a refactoring, that is, it makes no change to the behaviour of the system. This is implemented in the EquivcheckEr tool, which detects the places in which the code has changed, and compares the old and new versions of all functions that are affected by the change, applying the functions to randomly generated inputs. Our tool works for projects written in Erlang, and so needs to deal with effectful as well as pure functions. We aim only to report inequivalence when we have concrete evidence to that effect, avoiding any “false positive” counterexamples.
Item Type: | Conference or workshop item (Proceeding) |
---|---|
DOI/Identification number: | 10.1145/3677995.3678194 |
Uncontrolled keywords: | Equivalence, Checking, Property-based, Testing, Refactoring, Erlang |
Subjects: | Q Science > QA Mathematics (inc Computing science) |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
SWORD Depositor: | JISC Publications Router |
Depositing User: | JISC Publications Router |
Date Deposited: | 25 Oct 2024 14:46 UTC |
Last Modified: | 05 Nov 2024 13:12 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/107137 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):