|
ABSTRACT
The ability to postmortem failures in deployed systems due to non-deterministic events is useful in crash investigations. With this goal in mind, we propose FlashBox - a system that acts as a black box for embedded systems, recording non-deterministic events (interrupts). The FlashBox hardware consists of a microcontroller and flash memory. The FlashBox software is an extension to a compiler, enabling recording capabilities at various granularities. There are no source code modifications required to use FlashBox and no assumptions made on processor capabilities such as hardware counters. The FlashBox log can be used for faithful replay with a goal to isolate faults and reason about failure. We present a prototype implementation of FlashBox that logs non-deterministic events on an AVR ATMega169 microcontroller. The FlashBox prototype consists of a 8051 microcontroller with flash memory. The avr-gcc compiler has been extended to log non-deterministic events. Based on our experimental results, FlashBox results in 10-23% overhead while providing capability to log non-deterministic events at instruction level granularity. With decreasing cost of flash memories, FlashBox provides a low cost logging mechanism. The use of standard I/O communication protocols enhances portability, enabling ease of integration for different classes of embedded systems.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Atmel. AVR RISC processors. http://www.atmel.com/products/avr/, 2007.
|
| |
2
|
Dennis Brylow , Niels Damgaard , Jens Palsberg, Static checking of interrupt-driven software, Proceedings of the 23rd International Conference on Software Engineering, p.47-56, May 12-19, 2001, Toronto, Ontario, Canada
|
 |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
S. Garfinkel. History's worst software bugs. Byte Magazine, November 2005.
|
| |
8
|
Dennis Geels , Gautam Altekar , Scott Shenker , Ion Stoica, Replay debugging for distributed applications, Proceedings of the annual conference on USENIX '06 Annual Technical Conference, p.27-27, May 30-June 03, 2006, Boston, MA
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
|
 |
13
|
Ben Liblit , Alex Aiken , Alice X. Zheng , Michael I. Jordan, Bug isolation via remote program sampling, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
 |
14
|
|
| |
15
|
|
| |
16
|
|
 |
17
|
|
 |
18
|
|
 |
19
|
|
| |
20
|
|
| |
21
|
|
| |
22
|
Sudarshan M. Srinivasan , Srikanth Kandula , Christopher R. Andrews , Yuanyuan Zhou, Flashback: a lightweight extension for rollback and deterministic replay for software debugging, Proceedings of the annual conference on USENIX Annual Technical Conference, p.3-3, June 27-July 02, 2004, Boston, MA
|
 |
23
|
|
| |
24
|
H. Thane. Monitoring, Testing and Debugging of Distributed Real-Time Systems. PhD thesis, May 2000.
|
| |
25
|
H. Thane. Time machines and black box recorders for embedded systems software. ERCIM News, (52):32--33, January 2003.
|
| |
26
|
H. Thane and D. Sundmark. Debugging using time machines: replay your embedded system's history. In Real-Time and Embedded Computing Conference, page Kap 22, Milan, Italy, November 2001.
|
| |
27
|
|
 |
28
|
Ben L. Titzer , Jens Palsberg, Nonintrusive precision instrumentation of microcontroller software, Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, June 15-17, 2005, Chicago, Illinois, USA
|
| |
29
|
|
| |
30
|
USDoT. National highway traffic safety administration nhtsa 03v-240. www.autotechdaily.com/pdfs/T02-05-03.pdf, 2003.
|
|