Visualizing interactions in program executions
ICSE '97 Proceedings of the 19th international conference on Software engineering
Visualizing dynamic software system information through high-level models
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Program understanding behavior during corrective maintenance of large-scale software
International Journal of Human-Computer Studies - Best of empirical studies of programmers 7
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
The Science of Debugging
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Failure and Fault Analysis for Software Debugging
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
A UML-Based Approach to System Testing
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Revised Lectures on Software Visualization, International Seminar
Visualizing the Execution of Java Programs
Revised Lectures on Software Visualization, International Seminar
Interactive visual debugging with UML
Proceedings of the 2003 ACM symposium on Software visualization
Capturing Dynamic Program Behavior with UML Collaboration Diagrams
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Technical Note: Visually Encoding Program Test Information to Find Faults in Software
INFOVIS '01 Proceedings of the IEEE Symposium on Information Visualization 2001 (INFOVIS'01)
Using Dynamic Information for the Iterative Recovery of Collaborations and Roles
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Towards the Reverse Engineering of UML Sequence Diagrams
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Hi-index | 0.00 |
Finding runtime faults in object-oriented code can be very difficult even with the aid of modern runtime debuggers. Failures may manifest themselves due to decisions in the code that were executed much earlier in the program. Tracing execution paths and values backward from a failure to the faulty code can be a daunting task. We propose a fault finding approach that uses unit tests to exercise source code in order to trace object-method execution paths. This is similar to reverse-engineering techniques used to create Sequence Diagrams from code. It is often too complex to debug a program using a large set of reverse-engineered Sequence Diagrams each obtained from an individual execution. Therefore, our approach partitions and aggregates individual execution paths into into fault and non-fault revealing categories. By examining the differences between fault and non-fault paths, we are left with a simplified graph. The graph can then be transformed into a useful Sequence Diagram that may reveal the location of the faulty code.