GraphTrace—understanding object-oriented systems using concurrently animated views
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Tree visualization with tree-maps: 2-d space-filling approach
ACM Transactions on Graphics (TOG)
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Visualizing the behavior of object-oriented systems
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
From trace generation to visualization: a performance framework for distributed parallel systems
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
MPI-The Complete Reference, Volume 1: The MPI Core
MPI-The Complete Reference, Volume 1: The MPI Core
Revised Lectures on Software Visualization, International Seminar
Proceedings of the 2003 ACM symposium on Software visualization
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
Understanding Distributed Systems via Execution Trace Data
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Gammatella: Visualization of Program-Execution Data for Deployed Software
Proceedings of the 26th International Conference on Software Engineering
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Sensor network-based countersniper system
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
GAMMATELLA: visualizing program-execution data for deployed software
Information Visualization - Special issue: Software visualization
Exploiting UML dynamic object modeling for the visualization of C++ programs
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
Voronoi treemaps for the visualization of software metrics
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
SEAT: A Usable Trace Analysis Tool
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Sympathy for the sensor network debugger
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
Eliminating stack overflow by abstract interpretation
ACM Transactions on Embedded Computing Systems (TECS)
Visualisation-based tool support for the development of aspect-oriented programs
Proceedings of the 5th international conference on Aspect-oriented software development
Marionette: using RPC for interactive development and debugging of wireless embedded networks
Proceedings of the 5th international conference on Information processing in sensor networks
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
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
Abstractions for safe concurrent programming in networked embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
TOSDev: a rapid development environment for TinyOS
Proceedings of the 4th international conference on Embedded networked sensor systems
Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data
IEEE Transactions on Visualization and Computer Graphics
Visual assessment of software evolution
Science of Computer Programming
Visual Analytics: Visual data mining and analysis of software repositories
Computers and Graphics
NodeMD: diagnosing node-level faults in remote wireless sensor systems
Proceedings of the 5th international conference on Mobile systems, applications and services
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
IEEE Transactions on Software Engineering
Visualizing Testsuites to Aid in Software Understanding
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
Program explorer: a program visualizer for C++
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
Understanding Execution Traces Using Massive Sequence and Circular Bundle Views
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
A Toolkit for Visualizing the Runtime Behavior of TinyOS Applications
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
An Interactive, Source-Centric, Open Testbed for Developing and Profiling Wireless Sensor Systems
International Journal of Distributed Sensor Networks
nAIT: A source analysis and instrumentation framework for nesC
Journal of Systems and Software
TinyOS 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 |
TinyOS is an effective platform for developing lightweight embedded network applications. But the platform's lean programming model and power-efficient operation come at a price: TinyOS applications are notoriously difficult to construct, debug, and maintain. The development difficulties stem largely from a programming model founded on events and deferred execution. In short, the model introduces non-determinism in the execution ordering of primitive actions - an issue exacerbated by the fact that embedded network systems are inherently distributed and reactive. The resulting set of possible execution sequences for a given system is typically large and can swamp developers' unaided ability to reason about program behavior. In this paper, we present a visualization toolkit for TinyOS 2.0 to aid in program comprehension. The goal is to assist developers in reasoning about the computation forest underlying a system under test and the particular branches chosen during each run. The toolkit supports comprehension activities involving both local and distributed runtime behavior. The constituent components include (i) a full-featured static analysis and instrumentation library, (ii) a selection-based probe insertion system, (iii) a lightweight event recording service, (iv) a trace extraction and reconstruction tool, and (v) three visualization front-ends. We demonstrate the utility of the toolkit using both standard and custom system examples and present an analysis of the toolkit's resource usage and performance characteristics.