|
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
|
David Gay , Philip Levis , Robert von Behren , Matt Welsh , Eric Brewer , David Culler, The nesC language: A holistic approach to networked embedded systems, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
| |
12
|
|
| |
13
|
M. R. Guthaus , J. S. Ringenberg , D. Ernst , T. M. Austin , T. Mudge , R. B. Brown, MiBench: A free, commercially representative embedded benchmark suite, Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop on, p.3-14, December 02-02, 2001
[doi> 10.1109/WWC.2001.15]
|
| |
14
|
|
 |
15
|
Ákos Lédeczi , András Nádas , Péter Völgyesi , György Balogh , Branislav Kusy , János Sallai , Gábor Pap , Sebestyén Dóra , Károly Molnár , Miklós Maróti , Gyula Simon, Countersniper system for urban warfare, ACM Transactions on Sensor Networks (TOSN), v.1 n.2, p.153-177, November 2005
[doi> 10.1145/1105688.1105689]
|
| |
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
|
Mark Stephenson , Jonathan Babb , Saman Amarasinghe, Bidwidth analysis with application to silicon compilation, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.108-120, June 18-21, 2000, Vancouver, British Columbia, Canada
|
| |
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
|
|
|
|
|
John Regehr , Nathan Cooprider , Will Archer , Eric Eide, Efficient type and memory safety for tiny embedded systems, Proceedings of the 3rd workshop on Programming languages and operating systems: linguistic support for modern operating systems, p.6-es, October 22-22, 2006, San Jose, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nathan Cooprider , Will Archer , Eric Eide , David Gay , John Regehr, Efficient memory safety for TinyOS, Proceedings of the 5th international conference on Embedded networked sensor systems, November 06-09, 2007, Sydney, Australia
|
|
|
|
|