Language-Parametric Reference Synthesis
summary
Automated refactoring preserves original declaration targets by replacing references with locked references during transformation and synthesizing concrete syntax that resolves to the same declaration. The method derives inverse name-lookup from static semantics written in the Statix meta-DSL, uses scope graphs and an expanded constraint solver to explore alternatives, and evaluates on 2528 Java, 196 ChocoPy and 49 Featherweight Generic Java tests with artifacts reproduced and most holes solved within one second.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:44Problem solved
- 3:52Language-parametric approach
- 5:37Static semantic spec
- 7:21Constraint solver expansion
- 10:15Query constraint resolution
- 12:03Qualifier expansion
- 13:49Synthesis result
- 14:53Evaluation results
related talks
18mTowards a Language-parametric DSL for Refactoring (Short Paper)
29mLanguage-parametric static semantic code completion
21mSynthesizing Formal Semantics from Executable Interpreters
20mSemantic Reification: A New Paradigm for Random Program Generation
20mOptimal Program Synthesis via Abstract Interpretation
26mProgram Synthesis Using Example Propagation
20mEquivalence by Canonicalization for Synthesis-Backed Refactoring
17mEfficient Bottom-Up Synthesis for Programs with Local Variables
