Galois Slicing as Automatic Differentiation
By: Robert Atkey, Roly Perera
Potential Business Impact:
Tracks how computer programs change information.
Galois slicing is a technique for program slicing for provenance, developed by Perera and collaborators. Galois slicing aims to explain program executions by demonstrating how to track approximations of the input and output forwards and backwards along a particular execution. In this paper, we explore an analogy between Galois slicing and differentiable programming, seeing the implementation of forwards and backwards slicing as a kind of automatic differentiation. Using the CHAD approach to automatic differentiation due to Vákár and collaborators, we reformulate Galois slicing via a categorical semantics. In doing so, we are able to explore extensions of the Galois slicing idea to quantitative interval analysis, and to clarify the implicit choices made in existing instantiations of this approach.
Similar Papers
SLICEMATE: Accurate and Scalable Static Program Slicing via LLM-Powered Agents
Software Engineering
Finds important code parts faster and better.
Formalizing Linear Motion G-code for Invariant Checking and Differential Testing of Fabrication Tools
Programming Languages
Finds errors in 3D printer instructions.
Bringing Algebraic Hierarchical Decompositions to Concatenative Functional Languages
Formal Languages and Automata Theory
Builds smarter computer programs from math ideas.