System architecture directions for networked sensors
ACM SIGPLAN Notices
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Software design patterns for TinyOS
LCTES '05 Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
NodeMD: diagnosing node-level faults in remote wireless sensor systems
Proceedings of the 5th international conference on Mobile systems, applications and services
IEEE Transactions on Software Engineering
Programming Approaches and Challenges for Wireless Sensor Networks
ICSNC '07 Proceedings of the Second International Conference on Systems and Networks Communications
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
Support for context-aware intelligibility and control
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Assessing demand for intelligibility in context-aware applications
Proceedings of the 11th international conference on Ubiquitous computing
Explanations and context in ambient intelligent systems
CONTEXT'07 Proceedings of the 6th international and interdisciplinary conference on Modeling and using context
T-check: bug finding for sensor networks
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks
KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks
Anquiro: enabling efficient static verification of sensor network software
Proceedings of the 2010 ICSE Workshop on Software Engineering for Sensor Network Applications
Toolkit to support intelligibility in context-aware applications
Proceedings of the 12th ACM international conference on Ubiquitous computing
The state of the art in end-user software engineering
ACM Computing Surveys (CSUR)
On software verification for sensor nodes
Journal of Systems and Software
Specification and verification of complex location events with panoramic
Pervasive'10 Proceedings of the 8th international conference on Pervasive Computing
Hi-index | 0.00 |
As embedded sensing systems are central to developing pervasive, context-aware services, the applications running on these systems should be intelligible to system programmers and to users. Given that sensor systems are programmed in low-level languages, manually writing high-level explanations about their decision model requires knowledge about the system architecture, and is error-prone. We explore the possibility of extracting explanations which are small and expressive, but still preserve bit-level accuracy when needed. We contribute a tool which automatically and soundly generates compact, graphical explanations from sensor software implementation at compile-time. We base our algorithm on the techniques of (i) finite-state machine model extraction from software as used in model checking, and (ii) abstraction of program execution traces. We experiment with extracting explanations from heavyweight, low-level TinyOS applications for a mainstream sensor platform.