Encoding program executions
- 29 August 2005
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 221-230
- https://doi.org/10.1109/icse.2001.919096
Abstract
Dynamic analysis is based on collecting data as the program runs. However, raw traces tend to be too voluminous and too unstructured to be used directly for visualization and understanding. We address this problem in two phases: the first phase selects subsets of the data and then compacts it, while the second phase encodes the data in an attempt to infer its structure. Our major compaction/selection techniques include gprof-style N-depth call sequences, selection based on class, compaction based on time intervals, and encoding the whole execution as a directed acyclic graph. Our structure inference techniques include run-length encoding, context-free grammar encoding, and the building of finite state automata.Keywords
This publication has 13 references indexed in Scilit:
- The specification of process synchronization by path expressionsPublished by Springer Nature ,2005
- A portable sampling-based profiler for Java virtual machinesPublished by Association for Computing Machinery (ACM) ,2000
- Generating Java trace dataPublished by Association for Computing Machinery (ACM) ,2000
- Whole program pathsPublished by Association for Computing Machinery (ACM) ,1999
- Discovering models of software processes from event-based dataACM Transactions on Software Engineering and Methodology, 1998
- Software visualization in the desert environmentACM SIGPLAN Notices, 1998
- Exploiting hardware performance counters with flow and context sensitive profilingPublished by Association for Computing Machinery (ACM) ,1997
- Practical experience of the limitations of gprofSoftware: Practice and Experience, 1993
- GprofPublished by Association for Computing Machinery (ACM) ,1982
- Behaviour/structure transformations under uncertaintyInternational Journal of Man-Machine Studies, 1976