Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Interprocedural Path Profiling
CC '99 Proceedings of the 8th International Conference on Compiler Construction, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Sympathy for the sensor network debugger
Proceedings of the 3rd international conference on Embedded networked sensor systems
Marionette: using RPC for interactive development and debugging of wireless embedded networks
Proceedings of the 5th international conference on Information processing in sensor networks
NodeMD: diagnosing node-level faults in remote wireless sensor systems
Proceedings of the 5th international conference on Mobile systems, applications and services
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Program representations for testing wireless sensor network applications
Workshop on Domain specific approaches to software test automation: in conjunction with the 6th ESEC/FSE joint meeting
Clairvoyant: a comprehensive source-level debugger for wireless sensor networks
Proceedings of the 5th international conference on Embedded networked sensor systems
Efficient memory safety for TinyOS
Proceedings of the 5th international conference on Embedded networked sensor systems
Deriving State Machines from TinyOS Programs Using Symbolic Execution
IPSN '08 Proceedings of the 7th international conference on Information processing in sensor networks
HERMES: A Software Architecture for Visibility and Control in Wireless Sensor Network Deployments
IPSN '08 Proceedings of the 7th international conference on Information processing in sensor networks
D3S: debugging deployed distributed systems
NSDI'08 Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation
Proceedings of the 6th ACM conference on Embedded network sensor systems
Dustminer: troubleshooting interactive complexity bugs in sensor networks
Proceedings of the 6th ACM conference on Embedded network sensor systems
Passive diagnosis for wireless sensor networks
Proceedings of the 6th ACM conference on Embedded network sensor systems
Macrodebugging: global views of distributed program execution
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
Learning from sensor network data
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
Finding and reproducing Heisenbugs in concurrent programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Scoped identifiers for efficient bit aligned logging
Proceedings of the Conference on Design, Automation and Test in Europe
Friday: global comprehension for distributed replay
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
An application-specific protocol architecture for wireless microsensor networks
IEEE Transactions on Wireless Communications
Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems
Profiling all paths: A new profiling technique for both cyclic and acyclic paths
Journal of Systems and Software
Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Prius: generic hybrid trace compression for wireless sensor networks
Proceedings of the 10th ACM Conference on Embedded Network Sensor Systems
FlockLab: a testbed for distributed, synchronized tracing and profiling of wireless embedded systems
Proceedings of the 12th international conference on Information processing in sensor networks
Diagnostic tracing for wireless sensor networks
ACM Transactions on Sensor Networks (TOSN)
Minerva: distributed tracing and debugging in wireless sensor networks
Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems
Troubleshooting interactive complexity bugs in wireless sensor networks using data mining techniques
ACM Transactions on Sensor Networks (TOSN)
Hi-index | 0.00 |
Wireless sensor networks (WSNs) are hard to program due to unconventional programming models used to satisfy stringent resource constraints. The common event-driven concurrent programming model and lack of kernel protection in these systems introduce the possibility of several subtle faults such as race conditions. These faults are often triggered by unexpected interleavings of events in the real world, and can occur long after their causes. Reproducing a fault from the trace of the past events can play a crucial role in debugging such faults. The same tight constraints that motivate the specific programming model however make tracing challenging. This paper proposes an efficient intra-procedural and inter-procedural control-flow tracing algorithm that generates the traces of all interleaving concurrent events. Our approach enables reproducing faults at a later stage, allowing the programmer to identify them effectively. We argue for the accuracy of our approach through case studies, and illustrate its low overhead through measurements and simulations.