Using Dictionary Compression Algorithms to Identify Phases in Program Traces

Sheeva Afshan, Phil McMinn, Neil Walkinshaw · 2010

Program execution traces record the sequences of events or functions that are encountered during a program execution. They can provide valu-able insights into the run-time behaviour of software systems and form the basis for dynamic analysis techniques. Execution traces of large software systems can be huge, incorporating hundreds of thousands of elements, rendering them difficult to interpret and understand. One recognised problem is the phase-detection problem where the challenge is to identify repeating phases within a trace that may correspond to the execution of particular features within the software system. This paper proposes an abstraction technique that uses the well-known LZW dictionary compres-sion algorithm to systematically identify such phases. The feasibility of this approach is demonstrated with respect to a small case study on a Java program. 1

Read the paper · More papers on PaperTik