Language-Parametric Reference Synthesis

Journal Article (2025)
Author(s)

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)

Research Group
Pattern Recognition and Bioinformatics
DOI related publication
https://doi.org/10.1145/3720481
More Info
expand_more
Publication Year
2025
Language
English
Research Group
Pattern Recognition and Bioinformatics
Issue number
OOPSLA1
Volume number
9
Pages (from-to)
1213-1238
Reuse Rights

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.