Publication Type |
Manuscript |
School or College |
College of Engineering |
Department |
Computing, School of |
Creator |
Regehr, John |
Other Author |
Cooprider, Nathan |
Title |
Pluggable abstract domains for analyzing embedded software |
Date |
2006-01-01 |
Description |
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 interruptdriven 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. |
Type |
Text |
Publisher |
Association for Computing Machinery |
First Page |
44 |
Last Page |
53 |
DOI |
http://doi.acm.org/10.1145/nnnnnn.nnnnnn ; ACM 1-59593-362-X/06/0006 ; Doi 10.1145/1134650.1134658. |
Dissertation Institution |
University of Utah |
Language |
eng |
Bibliographic Citation |
Cooprider, N., & Regehr, J. (2006). Pluggable abstract domains for analyzing embedded software. In Proceedings of the ACM Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2006). June. 44-53. |
Rights Management |
© ACM, 2006. This is the authors version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the ACM Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2006). June 14-16, 2006. |
Format Medium |
application/pdf |
Format Extent |
847,796 bytes |
Identifier |
uspace,17488 |
ARK |
ark:/87278/s6t73261 |
Setname |
ir_uspace |
ID |
707992 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s6t73261 |