Hierarchical Abstraction of Execution Traces for Program Comprehension

Yang Feng, Kaj Dreef, James Jones, Arie van Deursen

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

20 Citations (Scopus)
100 Downloads (Pure)


Understanding the dynamic behavior of a software system is one of the most important and time-consuming tasks for today’s software maintainers. In practice, understanding the inner workings of software requires studying the source code and documentation and inserting logging code in order to map high-level descriptions of the program behavior with low-level implementation, i.e., the source code. Unfortunately, for large codebases and large log les, such cognitive mapping can be quite challenging. To bridge the cognitive gap between the source code and detailed models of program behavior, we propose a fully automatic approach to present a semantic abstraction with different levels of functional granularity from full execution traces. Our approach builds multi-level abstractions and identifies frequent behaviors at each level based on a number of execution traces, and then, it labels phases within individual execution traces according to the identified major functional behaviors of the system. To validate our approach, we conducted a case study on a large-scale subject program, Javac, to demonstrate the effectiveness of the mining result. Furthermore, the results of a user study demonstrate that our approach is capable of presenting users a high-level comprehensible abstraction of execution behavior. Based on a real world subject program the participants in our user study were able to achieve a mean accuracy of 70%.
Original languageEnglish
Title of host publicationProceedings of the 26th Conference on Program Comprehension, ICPC 2018
Place of PublicationNew York, NY
PublisherAssociation for Computing Machinery (ACM)
Number of pages11
ISBN (Electronic)978-1-4503-5714-2
Publication statusPublished - 2018
EventICPC 2018: IEEE/ACM International Conference on Program Comprehension 2018 - Gothenburg, Sweden
Duration: 27 May 201828 May 2018


ConferenceICPC 2018
OtherCo-located with ICSE 2018
Internet address


Dive into the research topics of 'Hierarchical Abstraction of Execution Traces for Program Comprehension'. Together they form a unique fingerprint.

Cite this