Decompile to understand; recompile to change
- Production code is organised around many shared constraints, not necessarily around the one behaviour someone wants to modify.
- Imagine extracting that behaviour into a small, comprehensible program, changing it, and compiling the result back into the larger system.
- Slicing and semantic analysis help recover the editable view. Codemods and constraints help integrate it. Overlapping behaviours make reintegration hard.
- The programmer works on little programs; the compiler manages the large one. That round trip is the hypothesis worth testing.
- #compilers
- #program-slicing
- #research