Control-Flow Recovery from Partial Failure Reports
Debugging is difficult. When software fails in production, debugging is even harder, as failure reports usually provide only an incomplete picture of the failing execution. We present a system that answers control-flow queries posed by developers as formal languages, indicating whether the query expresses control flow that is possible or impossible for a given failure report. We consider three separate approaches that trade off precision, expressiveness for failure constraints, and scalability. We also introduce a new subclass of regular languages, the unreliable trace languages, which are particularly suited to answering control-flow queries in polynomial time. Our system answers queries remarkably efficiently when we encode failure constraints and user queries entirely as unreliable trace languages.
Tue 20 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:50 - 12:30 | |||
10:50 25mTalk | Decomposition Instead of Self-Composition for Proving the Absence of Timing Channels PLDI Research Papers Timos Antonopoulos Yale University, Paul Gazzillo Yale University, Michael Hicks University of Maryland, College Park, Eric Koskinen Yale University, Tachio Terauchi JAIST, Shiyi Wei University of Maryland, College Park Media Attached | ||
11:15 25mTalk | Automatic Program Inversion using Symbolic Transducers PLDI Research Papers Media Attached | ||
11:40 25mTalk | Control-Flow Recovery from Partial Failure Reports PLDI Research Papers Peter Ohmann University of Wisconsin - Madison, Alexander L. Brooks University of Wisconsin, Madison, Loris D'Antoni University of Wisconsin–Madison, Ben Liblit University of Wisconsin–Madison Pre-print Media Attached | ||
12:05 25mTalk | Rigorous Analysis of Software Countermeasures against Cache Attacks PLDI Research Papers Media Attached |