Skip to main content

Showing 1–3 of 3 results for author: Sarracino, J

.
  1. Leapfrog: Certified Equivalence for Protocol Parsers

    Authors: Ryan Doenges, Tobias Kappé, John Sarracino, Nate Foster, Greg Morrisett

    Abstract: We present Leapfrog, a Coq-based framework for verifying equivalence of network protocol parsers. Our approach is based on an automata model of P4 parsers, and an algorithm for symbolically computing a compact representation of a bisimulation, using "leaps." Proofs are powered by a certified compilation chain from first-order entailments to low-level bitvector verification conditions, which are di… ▽ More

    Submitted 18 May, 2022; originally announced May 2022.

    Journal ref: Proc. PLDI 2022, 950-965

  2. arXiv:1904.13049  [pdf, other

    cs.PL

    Targeted Synthesis for Programming with Data Invariants

    Authors: John Sarracino, Shraddha Barke, Hila Peleg, Sorin Lerner, Nadia Polikarpova

    Abstract: Programmers frequently maintain implicit data invariants, which are relations between different data structures in a program. Traditionally, such invariants are manually enforced and checked by programmers. This ad-hoc practice is difficult because the programmer must manually account for all the locations and configurations that break an invariant. Moreover, implicit invariants are brittle under… ▽ More

    Submitted 25 October, 2019; v1 submitted 30 April, 2019; originally announced April 2019.

  3. arXiv:1403.3996  [pdf, other

    cs.PL

    JSAI: Designing a Sound, Configurable, and Efficient Static Analyzer for JavaScript

    Authors: Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, Ben Hardekopf

    Abstract: We describe JSAI, an abstract interpreter for JavaScript. JSAI uses novel abstract domains to compute a reduced product of type inference, pointer analysis, string analysis, integer and boolean constant propagation, and control-flow analysis. In addition, JSAI allows for analysis control-flow sensitivity (i.e., context-, path-, and heap-sensitivity) to be modularly configured without requiring any… ▽ More

    Submitted 17 March, 2014; originally announced March 2014.

    ACM Class: F.3.2; D.3.1