Intermittently-powered, energy-harvesting devices operate on
energy collected from their environment
and must operate
intermittently
as energy is available.
Runtime systems for such devices often rely on
checkpoints or redo-logs to save execution state between power
cycles, causing arbitrary code regions
to re-execute on
reboot. Any \emph{non-idempotent} program behavior—behavior that
can change on each execution—can lead to
incorrect results.
This work investigates non-idempotent behavior caused by repeating
I/O operations, not addressed by prior work. If such
operations affect a control statement or address of a memory update, they can cause programs to take different paths or write to different memory locations on re-executions, resulting in inconsistent memory states. We provide the
first characterization of input-dependent idempotence bugs and develop
IBIS-S, a program analysis tool for detecting such bugs at compile time, and IBIS-D, a dynamic information flow tracker to detect bugs at runtime.
These tools use taint propagation to determine the reach of input. IBIS-S
searches for code patterns leading to
inconsistent memory updates, while IBIS-D detects concrete memory inconsistencies. We evaluate IBIS on
embedded system drivers and applications. IBIS
can detect
I/O-dependent idempotence bugs, giving few (IBIS-S) or no (IBIS-D) false
positives and providing actionable bug reports.
These bugs are common in sensor-driven applications and are
not fixed by existing intermittent systems.
Wed 23 OctDisplayed time zone: Beirut change
16:00 - 17:30 | |||
16:00 22mTalk | Precision-Preserving Yet Fast Object-Sensitive Pointer Analysis with Partial Context Sensitivity OOPSLA DOI | ||
16:22 22mTalk | Precise Reasoning with Structured Time, Structured Heaps, and Collective Operations OOPSLA DOI | ||
16:45 22mTalk | I/O Dependent Idempotence Bugs in Intermittent Systems OOPSLA Milijana Surbatovich Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University DOI | ||
17:07 22mTalk | PlanAlyzer: Assessing Threats to the Validity of Online Experiments OOPSLA Emma Tosch University of Massachusetts Amherst, Eytan Bakshy Facebook, Inc., Emery D. Berger University of Massachusetts Amherst, David Jensen University of Massachusetts Amherst, Eliot Moss University of Massachusetts Amherst DOI |