POPL 2020 (series) / Student Research Competition /
Software Evolution with a Typeful Version Control System
In this extended abstract, I present the main contributions to my ongoing work regarding the design and implementation of a version-aware programming language (VFJ). We introduce a rewriting technique that is the basis for a slicing algorithm that can yield a snapshot of a given version in a versioned codebase of a program. We are currently focused on ensuring that this slicing mechanism preserves the semantics we presented before for a multi-version program execution runtime.