ATOM: a system for building customized program analysis tools
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
EEL: machine-independent executable editing
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Visualizing interactions in program executions
ICSE '97 Proceedings of the 19th international conference on Software engineering
Efficient points-to analysis for whole-program analysis
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
A tool framework for static and dynamic analysis of object-oriented software with templates
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Source-to-Source Instrumentation for the Optimization of an Automatic Reading System
The Journal of Supercomputing
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
Points-to analysis for Java using annotated constraints
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
On Inserting Program Understanding Technology into the Software Change Process
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Reverse Engineering of the UML Class Diagram from C++ Code in Presence of Weakly Typed Containers
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
gccXfront: Exploiting gcc as a Front End for Program Comprehension Tools via XML/XSLT
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Weaving Aspects into C++ Applications for Validation of Temporal Invariants
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Columbus - Reverse Engineering Tool and Schema for C++
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Program Instrumentation for Debugging and Monitoring with AspectC++
ISORC '02 Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Reverse Engineering of the Interaction Diagrams from C++ Code
ICSM '03 Proceedings of the International Conference on Software Maintenance
Sensor network-based countersniper system
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
A reverse engineering tool for precise class diagrams
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Automatic Low Overhead Program Instrumentation with the LOPI Framework
INTERACT '05 Proceedings of the 9th Annual Workshop on Interaction between Compilers and Computer Architectures
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
An API for Runtime Code Patching
International Journal of High Performance Computing Applications
Proceedings of the 3rd international conference on Embedded networked sensor systems
ExScal: Elements of an Extreme Scale Wireless Sensor Network
RTCSA '05 Proceedings of the 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
LANCET: a nifty code editing tool
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A sensor network for social dynamics
Proceedings of the 5th international conference on Information processing in sensor networks
Deploying a Wireless Sensor Network on an Active Volcano
IEEE Internet Computing
Monitoring Civil Structures with a Wireless Sensor Network
IEEE Internet Computing
Refinement-based context-sensitive points-to analysis for Java
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Sensemble: a wireless, compact, multi-user sensor system for interactive dance
NIME '06 Proceedings of the 2006 conference on New interfaces for musical expression
The design and evaluation of a hybrid sensor network for Cane-Toad monitoring
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
SPiKE: engineering malware analysis tools using unobtrusive binary-instrumentation
ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
Using Valgrind to detect undefined value errors with bit-precision
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Valgrind: a framework for heavyweight dynamic binary instrumentation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Instrumentation and optimization of Win32/intel executables using Etch
NT'97 Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
Automatic program transformation with JOIE
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
A Toolkit for Visualizing the Runtime Behavior of TinyOS Applications
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
TinyOS Programming
Experiences in using cetus for source-to-source transformations
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Visualizing the runtime behavior of embedded network systems: A toolkit for TinyOS
Science of Computer Programming
An animation framework for improving the comprehension of TinyOS programs
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
Automated software engineering methods support the construction, maintenance, and analysis of both new and legacy systems. Their application is commonplace in desktop- and enterprise-class systems due to the productivity and reliability benefits they afford. The contribution of this article is to present an applied foundation for extending the use of such methods to the flourishing domain of wireless sensor networks. The objective is to enable developers to construct tools that aid in understanding both the static and dynamic properties of reactive, event-based systems. We present a static analysis and instrumentation toolkit for the nesC language, the defacto standard for sensor network development. We highlight the novel aspects of the toolkit, analyze its performance, and provide representative case-studies that illustrate its use.