Standard

Hierarchical Abstraction of Execution Traces for Program Comprehension. / Deursen, Arie van.

Proceedings of the 26th Conference on Program Comprehension, ICPC 2018. New York, NY : Association for Computing Machinery (ACM), 2018. p. 86-96.

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Harvard

Deursen, AV 2018, Hierarchical Abstraction of Execution Traces for Program Comprehension. in Proceedings of the 26th Conference on Program Comprehension, ICPC 2018. Association for Computing Machinery (ACM), New York, NY, pp. 86-96, ICPC 2018, Gothenburg, Sweden, 27/05/18. https://doi.org/10.1145/3196321.3196343

APA

Deursen, A. V. (2018). Hierarchical Abstraction of Execution Traces for Program Comprehension. In Proceedings of the 26th Conference on Program Comprehension, ICPC 2018 (pp. 86-96). New York, NY: Association for Computing Machinery (ACM). https://doi.org/10.1145/3196321.3196343

Vancouver

Deursen AV. Hierarchical Abstraction of Execution Traces for Program Comprehension. In Proceedings of the 26th Conference on Program Comprehension, ICPC 2018. New York, NY: Association for Computing Machinery (ACM). 2018. p. 86-96 https://doi.org/10.1145/3196321.3196343

Author

Deursen, Arie van. / Hierarchical Abstraction of Execution Traces for Program Comprehension. Proceedings of the 26th Conference on Program Comprehension, ICPC 2018. New York, NY : Association for Computing Machinery (ACM), 2018. pp. 86-96

BibTeX

@inproceedings{4842a4283ced45d1a31784576a3d6cdd,
title = "Hierarchical Abstraction of Execution Traces for Program Comprehension",
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{\%}.",
author = "Deursen, {Arie van}",
year = "2018",
doi = "10.1145/3196321.3196343",
language = "English",
pages = "86--96",
booktitle = "Proceedings of the 26th Conference on Program Comprehension, ICPC 2018",
publisher = "Association for Computing Machinery (ACM)",
address = "United States",

}

RIS

TY - GEN

T1 - Hierarchical Abstraction of Execution Traces for Program Comprehension

AU - Deursen, Arie van

PY - 2018

Y1 - 2018

N2 - 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%.

AB - 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%.

U2 - 10.1145/3196321.3196343

DO - 10.1145/3196321.3196343

M3 - Conference contribution

SP - 86

EP - 96

BT - Proceedings of the 26th Conference on Program Comprehension, ICPC 2018

PB - Association for Computing Machinery (ACM)

CY - New York, NY

ER -

ID: 45181758