Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Cheap hardware support for software debugging and profiling
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
A software instruction counter
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
A Noninterference Monitoring and Replay Mechanism for Real-Time Software Testing and Debugging
IEEE Transactions on Software Engineering
Practical minimal perfect hash functions for large databases
Communications of the ACM
Monitoring and debugging distributed real-time programs
Monitoring and debugging of distributed real-time systems
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
RecPlay: a fully integrated practical record/replay system
ACM Transactions on Computer Systems (TOCS)
Mastering algorithms with C
Modern Operating Systems
Multi-Objective Optimization Using Evolutionary Algorithms
Multi-Objective Optimization Using Evolutionary Algorithms
Interaktives Trace- und Debugging- System ALGOL KIEL X 8
3. Fachtagung über Programmiersprachen, Gesellschaft für Informatik
Instruction tracing via microprogramming
MICRO 7 Conference record of the 7th annual workshop on Microprogramming
Record/replay for nondeterministic program executions
Communications of the ACM - Why CS students need math
A Multiple Hill Climbing Approach to Software Module Clustering
ICSM '03 Proceedings of the International Conference on Software Maintenance
Non-Intrusive Debug Technique for Embedded Programming
ISSRE '03 Proceedings of the 14th International Symposium on Software Reliability Engineering
Java-MaC: A Run-Time Assurance Approach for Java Programs
Formal Methods in System Design
Avrora: scalable sensor network simulation with precise timing
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
Valgrind: a framework for heavyweight dynamic binary instrumentation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
RT-replayer: a record-replay architecture for embedded real-time software debugging
Proceedings of the 2009 ACM symposium on Applied Computing
FlashBox: a system for logging non-deterministic events in deployed embedded systems
Proceedings of the 2009 ACM symposium on Applied Computing
PRES: probabilistic replay with execution sketching on multiprocessors
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
ODR: output-deterministic replay for multicore debugging
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Respec: efficient online multiprocessor replayvia speculation and external determinism
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Embedded Systems Design: the ARTIST roadmap for research and development
Embedded Systems Design: the ARTIST roadmap for research and development
Hi-index | 0.00 |
During the system development, developers often must correct wrong behavior in the software-an activity colloquially called program debugging. Debugging is a complex activity, especially in real-time embedded systems because such systems interact with the physical world and make heavy use of interrupts for timing and driving I/O devices. Debugging interrupts is difficult, because they cause non-linear control flow in programs which is hard to reproduce in software. Record/replay mechanisms have proven their use to debugging embedded systems, because they provide means to recreate control flows offline where they can be debugged. In this work, we present the data tracing part of the record/replay mechanism that is specifically targeted to record interrupt behavior. To tune our tracing mechanism, we use the observed principle of return address clustering and a formal model for quantitative reasoning about the tracing mechanism. The presented heuristic and mechanisms show surprisingly good results-with higher fingerprint widths an 800 percent speedup on the selector function and a 300 percent reduction on duplicates for non-optimal selector functions-considering the leanness of the approach. Using an equal portion for the fingerprint and for the return address lead to the best results in our experiments.