This program is tentative and subject to change.
Backward stability is a desirable property for a well-designed numerical algorithm: given an input, a backward stable floating-point program produces the exact output for a nearby input. While automated tools for bounding the forward error of a numerical program are well-established, few existing tools target backward error analysis. We present a formal framework that enables sound, automated backward error analysis for a broad class of numerical programs. First, we propose a novel generalization of the definition of backward stability that is both compositional and flexible, satisfied by a wide range of floating-point operations. Second, based on this generalization, we develop the category Shel where morphisms model stable numerical programs, and show that structures in Shel support a rich variety of backward error analyses. Third, we implement a tool, eggshel, that automatically searches within a syntactic subcategory of Shel to prove backward stability for a given program. Our algorithm handles many programs with variable reuse, a known challenge in backward error analysis. We prove soundness of our algorithm and use our tool to synthesize backward error bounds for a suite of programs that were previously beyond the reach of automated analysis.
This program is tentative and subject to change.
Fri 19 JunDisplayed time zone: Mountain Time (US & Canada) change
10:30 - 12:10 | |||
10:30 20mTalk | Verifying Array Properties in Pure Data-Parallel Programs PLDI Research Papers Nikolaj Hey Hinnerskov University of Copenhagen, Robert Schenck Northeastern University, Cosmin E. Oancea University of Copenhagen DOI | ||
10:50 20mTalk | Soteria: Efficient Symbolic Execution as a Functional Library PLDI Research Papers Sacha-Élie Ayoun Imperial College London; Soteria Tools, Opale Sjöstedt Imperial College London; Soteria Tools, Azalea Raad Imperial College London; Soteria Tools DOI | ||
11:10 20mTalk | A Categorical Basis for Robust Program Analysis PLDI Research Papers DOI | ||
11:30 20mTalk | Restart and Refine: Scalable IFDS Taint Analysis across Memory Budgets PLDI Research Papers DOI | ||
11:50 20mTalk | Synthesizing Backward Error Bounds, Backward PLDI Research Papers DOI Pre-print | ||