Wireless sensor networks (WSNs) are plagued by the possibility
of bugs manifesting only at deployment. However,
debugging deployed WSNs is challenging for several reasons—
the remote location of deployed sensor nodes, the non- determinism
of execution that can make it di!cult to replicate a
buggy run, and the limited hardware resources available on
a node. In particular, existing solutions to record and replay
debugging in WSNs fail to capture the complete code execution,
thus negating the possibility of a faithful replay and
causing a large class of bugs to go unnoticed. In short, record
and replay logs a trace of predefined events while a deployed
application is executing, enabling replaying of events later
using debugging tools. Existing recording methods fail due
to the many sources of non-determinism and the scarcity of
resources on nodes.
In this demo, we present Trace And Replay Debugging
In Sensornets (Tardis), a software-only approach for deterministic
record and replay of WSN nodes. Tardis is able to
record all sources of non-determinism, based on the observation
that such information is compressible using a combination
of techniques specialized for respective sources. Despite
their domain-specific nature, the techniques presented
are applicable to the broader class of resource-constrained
embedded systems.