ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Tracing interrupts in embedded software
Full text PdfPdf (526 KB)
Source
Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems table of contents
Dublin, Ireland
SESSION: Runtime system support table of contents
Pages: 137-146  
Year of Publication: 2009
ISBN:978-1-60558-356-3
Also published in ...
Authors
Giovani Gracioli  University of Waterloo, Waterloo, ON, Canada
Sebastian Fischmeister  University of Waterloo, Waterloo, ON, Canada
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 129,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542452.1542471
What is a DOI?

ABSTRACT

During the system development, developers often must correct wrong behavior in the software---an activity colloquially called program debugging. Debugging is a complex activity, especially in real-time embedded systems because such systems interact with the physical world and make heavy use of interrupts for timing and driving I/O devices.

Debugging interrupts is difficult, because they cause non-linear control flow in programs which is hard to reproduce in software. Record/replay mechanisms have proven their use to debugging embedded systems, because they provide means to recreate control flows offline where they can be debugged.

In this work, we present the data tracing part of the record/replay mechanism that is specifically targeted to record interrupt behavior. To tune our tracing mechanism, we use the observed principle of return address clustering and a formal model for quantitative reasoning about the tracing mechanism. The presented heuristic and mechanisms show surprisingly good results---up to an 800 percent speedup on the selector function and a 300 percent reduction on duplicates for non-optimal selector functions---considering the leanness of the approach.


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
Standard Test Access Port and Boundary-Scan Architecture. IEEE 1149.1 standard, 2001.
 
2
Standard for a Global Embedded Processor Debug Interface, 2003.
 
3
4
 
5
6
 
7
8
 
9
Antonio Augusto Froehlich. Application-Oriented Operating Systems. Number 17 in GMD Research Series. GMD -- Forschungszentrum Informationstechnik, Sankt Augustin, August 2001.
 
10
M.P. Gallaher and B.M. Kropp. The Economic Impacts of Inadequate Infrastructure for Software Testing. National Institute of Standards & Technologg Planning Report 02--03, May 2002.
 
11
Robert Jenkins. Hash Functions. Dr. Dobb's, September 1997.
 
12
 
13
 
14
15
 
16
 
17
William Omre. Debug and Trace for Multicore SoCs. Technical report, ARM, September 2008.
18
19
 
20
D. Sundmark and H. Thane. Pinpointing Interrupts in Embedded Real-Time Systems using Context Checksums. In Proc. of the 13th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Hamburg, Germany, 2008.
 
21
D. Sundmark, H. Thane, J. Huselius, and A. Pettersson. Replay Debugging of Complex Real-Time Systems: Experiences from Two Industrial Case Studies. In Proc. of the 5th International Workshop on Algorithmic and Automated Debugging (AADEBUG), pages 211--222, Gent, Belgium, September 2003.
 
22
 
23
H. Thane. Monitoring, Testing and Debugging of Distributed Real-Time Systems. PhD thesis, Department of Computer Science and Electronics, Malardalens University, May 2000.
 
24
 
25

Collaborative Colleagues:
Giovani Gracioli: colleagues
Sebastian Fischmeister: colleagues