Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Wed 23 Oct 2019 16:45 - 17:07 at Olympia - Analysis Chair(s): Jan Vitek

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 Oct

Displayed time zone: Beirut change

16:00 - 17:30
Analysis OOPSLA at Olympia
Chair(s): Jan Vitek Northeastern University
16:00
22m
Talk
Precision-Preserving Yet Fast Object-Sensitive Pointer Analysis with Partial Context Sensitivity
OOPSLA
Jingbo Lu UNSW Sydney, Jingling Xue UNSW Sydney
DOI
16:22
22m
Talk
Precise Reasoning with Structured Time, Structured Heaps, and Collective Operations
OOPSLA
Gregory Essertel Purdue University, Guannan Wei Purdue University, Tiark Rompf Purdue University
DOI
16:45
22m
Talk
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
22m
Talk
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