Language-Parametric Reference Synthesis
Daniel A.A. Pelsmaeker (TU Delft - Pattern Recognition and Bioinformatics)
A.S. Zwaan (TU Delft - Programming Languages)
Casper Bach Poulsen (TU Delft - Software Technology)
Arjan J. Mooij (Zurich University of Applied Science (ZHAW), TNO - Embedded Systems Innovation)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Modern Integrated Development Environments (IDEs) offer automated refactorings to aid programmers in developing and maintaining software. However, implementing sound automated refactorings is challenging, as refactorings may inadvertently introduce name-binding errors or cause references to resolve to incorrect declarations. To address these issues, previous work by Schäfer et al. proposed replacing concrete references with locked references to separate binding preservation from transformation. Locked references vacuously resolve to a specific declaration, and after transformation must be replaced with concrete references that also resolve to that declaration. Synthesizing these references requires a faithful inverse of the name lookup functions of the underlying language.