Write a Blog >>
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
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
Times are displayed in time zone: Beirut change

16:00 - 17:30: Analysis OOPSLA at Olympia
Chair(s): Jan VitekNortheastern University
16:00 - 16:22
Precision-Preserving Yet Fast Object-Sensitive Pointer Analysis with Partial Context Sensitivity
Jingbo LuUNSW Sydney, Jingling XueUNSW Sydney
16:22 - 16:45
Precise Reasoning with Structured Time, Structured Heaps, and Collective Operations
Gregory EssertelPurdue University, Guannan WeiPurdue University, Tiark RompfPurdue University
16:45 - 17:07
I/O Dependent Idempotence Bugs in Intermittent Systems
Milijana SurbatovichCarnegie Mellon University, Limin JiaCarnegie Mellon University, Brandon LuciaCarnegie Mellon University
17:07 - 17:30
PlanAlyzer: Assessing Threats to the Validity of Online Experiments
Emma ToschUniversity of Massachusetts Amherst, Eytan BakshyFacebook, Inc., Emery D. BergerUniversity of Massachusetts Amherst, David JensenUniversity of Massachusetts Amherst, Eliot MossUniversity of Massachusetts Amherst