log in  |  register  |  feedback?  |  help  |  web accessibility
Logo
Galois Transformers and Modular Abstract Interpreters: Reusable Metatheory for Program Analysis
David Darais - PLUM, UMD
Wednesday, October 21, 2015, 3:30-4:30 pm Calendar
  • You are subscribed to this talk through .
  • You are watching this talk through .
  • You are subscribed to this talk. (unsubscribe, watch)
  • You are watching this talk. (unwatch, subscribe)
  • You are not subscribed to this talk. (watch, subscribe)
Abstract
The field of program analysis is experiencing a renaissance as recent software
analyzers have succeeded in verifying the correctness, safety and integrity of
increasingly large software systems. Progress in the design of real-world
analyzers comes from exploring the vast design space, however the process for
designing and implementing static analyzers with non-standard features has
grown too complex. Worse, changing the design of a static analyzer in
mid-development often requires a redesign from scratch.

In this talk I will present Galois transformers, a framework which supports
rapid design and implementation of a large family of static analyzers. Galois
transformers synthesize analysis machinery and proofs of correctness for free,
and are inspired by the trifecta combination of monad transformers, Galois
connections and monadic abstract interpreters. Galois transformers enable the
designer of a program analysis to rapidly prototype variations in abstract
domain, context sensitivity, object sensitivity, path sensitivity and a wide
range of analysis optimizations. Furthermore, these orthogonal tuning knobs are
constructed in a language-independent framework, allowing reuse across entirely
different programming language semantics. Finally, Galois transformers
synthesize a large portion of the end-to-end proofs of correct abstraction
required by high-assurance analyzers.
This talk is organized by Aseem Rastogi