University of Washington
Author pages are created from data sourced from our academic publisher partnerships and public sources.
Share This Author
Verdi: a framework for implementing and formally verifying distributed systems
Verdi, a framework for implementing and formally verifying distributed systems in Coq, formalizes various network semantics with different faults, and enables the developer to first verify their system under an idealized fault model then transfer the resulting correctness guarantees to a more realistic fault model without any additional proof burden.
Automatically improving accuracy for floating point expressions
Herbie is a tool which automatically discovers the rewrites experts perform to improve accuracy, and its heuristic search estimates and localizes rounding error using sampled points (rather than static error analysis), applies a database of rules to generate improvements, takes series expansions, and combines improvements for different input regions.
SafeDispatch: Securing C++ Virtual Calls from Memory Corruption Attacks
This paper presents SAFEDISPATCH, a novel defense to prevent vtable hijacking by statically analyzing C++ programs and inserting sufficient runtime checks to ensure that control flow at virtual method call sites cannot be arbitrarily influenced by an attacker.
Equality saturation: a new approach to optimization
The proposed way of structuring optimizers has a variety of benefits over previous approaches: it obviates the need to worry about optimization ordering, enables the use of a global optimization heuristic that selects among fully optimized programs, and can be used to perform translation validation, even on compilers other than the authors' own.
Proving optimizations correct using parameterized program equivalence
Parameterized Equivalence Checking (PEC), a generalization of translation validation that can prove the equivalence of parameterized programs, is presented.
Programming and proving with distributed protocols
- Ilya Sergey, James R. Wilcox, Zachary Tatlock
- Computer ScienceProc. ACM Program. Lang.
- 27 December 2017
Disel is presented, the first framework for implementation and compositional verification of distributed systems and their clients, all within the mechanized, foundational context of the Coq proof assistant.
RoboFlow: A flow-based visual programming language for mobile manipulation tasks
- Sonya Alexandrova, Zachary Tatlock, M. Cakmak
- Computer ScienceIEEE International Conference on Robotics and…
- 1 May 2015
RoboFlow is designed to ensure a robust low-level implementation of program procedures on a mobile manipulator, and restrict the high-level programming as much as possible to avoid user errors while enabling expressive programs that involve branching, looping, and nesting.
Relay: a new IR for machine learning frameworks
This work proposes a new high-level intermediate representation (IR) called Relay, being designed as a purely-functional, statically-typed language with the goal of balancing efficient compilation, expressiveness, and portability.
Planning for change in a formal verification of the raft consensus protocol
- Doug Woos, James R. Wilcox, Steve Anton, Zachary Tatlock, Michael D. Ernst, T. Anderson
- Computer ScienceCPP
- 18 January 2016
This work presents the first formal verification of state machine safety for the Raft consensus protocol, a critical component of many distributed systems, with an end-to-end guarantee that the implementation provides linearizable state machine replication.
Toward a Standard Benchmark Format and Suite for Floating-Point Analysis
- Nasrine Damouche, M. Martel, P. Panchekha, Chen Qiu, Alex Sanchez-Stern, Zachary Tatlock
- Computer ScienceNSV@CAV
- 17 July 2016
This work introduces FPBench, a standard benchmark format for validation and optimization of numerical accuracy in floating-point computations, and describes the format and measures and shows that FPBench expresses benchmarks from recent papers in the literature by building an initial benchmark suite drawn from these papers.