ACM Home Page
Please provide us with feedback. Feedback
Pluggable abstract domains for analyzing embedded software
Full text PdfPdf (250 KB)
Source Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems table of contents
Ottawa, Ontario, Canada
SESSION: Program analysis table of contents
Pages: 44 - 53  
Year of Publication: 2006
ISBN:1-59593-362-X
Also published in ...
Authors
Nathan Cooprider  University of Utah
John Regehr  University of Utah
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 41,   Citation Count: 8
Additional Information:

abstract   references   cited by   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/1134650.1134658
What is a DOI?

ABSTRACT

Many abstract value domains such as intervals, bitwise, constants, and value-sets have been developed to support dataflow analysis. Different domains offer alternative tradeoffs between analysis speed and precision. Furthermore, some domains are a better match for certain kinds of code than others. This paper presents the design and implementation of cXprop, an analysis and transformation tool for C that implements "conditional X propagation," a generalization of the well-known conditional constant propagation algorithm where X is an abstract value domain supplied by the user. cXprop is interprocedural, context-insensitive, and achieves reasonable precision on pointer-rich codes. We have applied cXprop to sensor network programs running on TinyOS, in order to reduce code size through interprocedural dead code elimination, and to find limited-bitwidth global variables. Our analysis of global variables is supported by a novel concurrency model for interrupt-driven software. cXprop reduces TinyOS application code size by an average of 9.2% and predicts an average data size reduction of 8.2% through RAM compression.


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
Phil Buonadonna, Joseph Hellerstein, Wei Hong, David Gay, and Samuel Madden. TASK: Sensor network in a box. In Proc. of the European Workshop on Wireless Sensor Networks, Istanbul, Turkey, 2005.
 
2
Caml language Web site. http://caml.inria.fr/.
 
3
4
5
 
6
Crossbow Technology, Inc. http://xbow.com.
7
 
8
9
 
10
11
 
12
 
13
 
14
15
 
16
Philip Levis, David Gay, Vlado Handziski, Jan-Hinrich Hauer, Ben Greenstein, Martin Turon, Jonathan Hui, Kevin Klues, Cory Sharp, Robert Szewczyk, Joe Polastre, Philip Buonadonna, Lama Nachman, Gilman Tolle, David Culler, and Adam Wolisz. T2: A Second Generation OS For Embedded Sensor Networks. Technical Report TKN-05-007, Telecommunication Network Group, Technische Universität Berlin, November 2005.
 
17
David Malan, Matt Welsh, and Michael Smith. A Public-Key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve Cryptography. In Proc. of the Intl. Conf. on Sensor and Ad hoc Communications and Networks (SECON), Santa Clara, CA, October 2004.
 
18
Florian Martin. PAG-An efficient program analyzer generator. International Journal on Software Tools for Technology Transfer, 2(1):46--67, 1998.
 
19
 
20
Moteiv Corporation. http://www.moteiv.com.
 
21
 
22
23
 
24
25
 
26
 
27
Bryan Turner. RandomProgramGenerator, 2005. http://www.fractalscape.org/RandomProgramGenerator.
 
28
29
 
30
Daniel S. Wilkerson. Delta, 2003. http://delta.tigris.org/.
 
31

CITED BY  8

Collaborative Colleagues:
Nathan Cooprider: colleagues
John Regehr: colleagues