4 papers · 1 filter
Technical Report: Match-reference regular expressions and lenses
Jeanne-Marie Musca, Anders Miltner, Kathleen Fisher +1
A lens is a single program that specifies two data transformations at once: one transformation converts data from source format to target format and a second transformation inverts…
Data-Driven Inference of Representation Invariants
Anders Miltner, Saswat Padhi, Todd Millstein +1
A representation invariant is a property that holds of all values of abstract type produced by a module. Representation invariants play important roles in software engineering and…
Synthesizing Symmetric Lenses
Anders Miltner, Solomon Maina, Kathleen Fisher +3
Lenses are programs that can be run both "front to back" and "back to front," allowing updates to either their source or their target data to be transferred in both directions. Len…
Synthesizing Bijective Lenses
Anders Miltner, Kathleen Fisher, Benjamin C. Pierce +2
Bidirectional transformations between different data representations occur frequently in modern software systems. They appear as serializers and deserializers, as database views an…