Towards a Language-parametric DSL for Refactoring (Short Paper)
summary
Prototype DSL implements language‑parametric refactorings by deriving full name‑binding info from scope graphs, performing concise traversals via a borrowed subset of generic term traversals, and enforcing edits as transformations as patches so each AST node is modified at most once. The prototype, embedded in an existing host, resolves references to detect renames that would capture and can emit errors or apply fixes (e.g., insert super). Work is ongoing: more refactoring case studies, standalone DSL and better errors remain.
AI-written summary · about
chapters (10)
- 0:00Language-parametric refactoring DSL
- 0:23Automated refactoring challenges
- 1:30Name binding and capture
- 2:35Contributions of the DSL
- 3:19Name binding with SCoal graphs
- 7:19Handling name capture
- 7:41Term traversals in transformations
- 10:12Enforcing patches
- 10:57Future work and conclusion
- 11:41Q&A
related talks
15mLanguage-Parametric Reference Synthesis
19mLanguage Support for Refactorability Decay Prevention
53mDeveloping DSLs in a pragmatic way
53mDomain Specifc Languages
25mMore DSL, Less Pain
07mNew Ideas: Automated Engineering of Metamorphic Testing Environments for Domain-Specific Languages
29mIntegrating Language Engineering into the Software Development Process
29mApplying Self-Extension Mechanism to DSLs for Establishing Model Libraries
