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

23 Citations (Scopus)
100 Downloads (Pure)

Abstract

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)
Pages86-96
Number of pages11
ISBN (Electronic)978-1-4503-5714-2
DOIs
Publication statusPublished - 2018
EventICPC 2018: IEEE/ACM International Conference on Program Comprehension 2018 - Gothenburg, Sweden
Duration: 27 May 201828 May 2018
https://conf.researchr.org/home/icpc-2018

Conference

ConferenceICPC 2018
Country/TerritorySweden
CityGothenburg
Period27/05/1828/05/18
OtherCo-located with ICSE 2018
Internet address

Fingerprint

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

Cite this