An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
Optimally profiling and tracing programs
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Optimally profiling and tracing programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Evaluation of expert system testing methods
Communications of the ACM
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria
ICSE '94 Proceedings of the 16th international conference on Software engineering
Proceedings of the 6th international workshop on Hardware/software codesign
All structured programs have small tree width and good register allocation
Information and Computation
Communications of the ACM
A framework for reducing the cost of instrumented code
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
MicroC/OS-II: the real-time kernel
MicroC/OS-II: the real-time kernel
Introduction to Algorithms
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
ATOM: a system for building customized program analysis tools
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Demand-driven structural testing with dynamic instrumentation
Proceedings of the 27th international conference on Software engineering
Instrumenting annotated programs
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Nonintrusive precision instrumentation of microcontroller software
LCTES '05 Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Embedded Systems Design: The ARTIST Roadmap for Research and Development (Lecture Notes in Computer Science)
Performance data collection using a hybrid approach
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Code coverage testing using hardware performance monitoring support
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Anomalous path detection with hardware support
Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
Low overhead program monitoring and profiling
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Statistical debugging: simultaneous identification of multiple bugs
ICML '06 Proceedings of the 23rd international conference on Machine learning
Efficiently monitoring data-flow test coverage
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
Performance profiling with EndoScope, an acquisitional software monitoring framework
Proceedings of the VLDB Endowment
Carving and Replaying Differential Unit Test Cases from System Test Cases
IEEE Transactions on Software Engineering
System monitoring with metric-correlation models: problems and solutions
ICAC '09 Proceedings of the 6th international conference on Autonomic computing
Lowering overhead in sampling-based execution monitoring and tracing
Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Sampling-based runtime verification
FM'11 Proceedings of the 17th international conference on Formal methods
Runtime monitoring of time-sensitive systems
RV'11 Proceedings of the Second international conference on Runtime verification
Runtime verification for ultra-critical systems
RV'11 Proceedings of the Second international conference on Runtime verification
Runtime verification of real-time embedded systems
Proceedings of the tenth ACM international conference on Embedded software
An efficient bitwise algorithm for intra-procedural data-flow testing coverage
Information Processing Letters
Copilot: monitoring embedded systems
Innovations in Systems and Software Engineering
Runtime verification of microcontroller binary code
Science of Computer Programming
Hi-index | 0.00 |
For its high overall cost during product development, program debugging is an important aspect of system development. Debugging is a hard and complex activity, especially in time-sensitive systems which have limited resources and demanding timing constraints. System tracing is a frequently used technique for debugging embedded systems. A specific use of system tracing is to monitor and debug control-flow problems in programs. However, it is difficult to implement because of the potentially high overhead it might introduce to the system and the changes which can occur to the system behavior due to tracing. To solve the above problems, in this work, we present a sampling-based approach to execution monitoring which specifically helps developers debug time-sensitive systems such as real-time applications. We build the system model and propose three theorems to determine the sampling period in different scenarios. We also design seven heuristics and an instrumentation framework to extend the sampling period which can reduce the monitoring overhead and achieve an optimal tradeoff between accuracy and overhead introduced by instrumentation. Using this monitoring framework, we can use the information extracted through sampling to reconstruct the system state and execution paths to locate the deviation.