Hierarchical Abstraction of Execution Traces for Program Comprehension

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 ma...

Full description

Saved in:
Bibliographic Details
Published in2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC) pp. 86 - 96
Main Authors Feng, Yang, Dreef, Kaj, Jones, James, van Deursen, Arie
Format Conference Proceeding
LanguageEnglish
Published ACM 01.05.2018
Subjects
Online AccessGet full text

Cover

Loading…
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 files, 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%.
AbstractList 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 files, 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 Dreef, Kaj
van Deursen, Arie
Feng, Yang
Jones, James
Author_xml – sequence: 1
  givenname: Yang
  surname: Feng
  fullname: Feng, Yang
  organization: University of California
– sequence: 2
  givenname: Kaj
  surname: Dreef
  fullname: Dreef, Kaj
  organization: University of California
– sequence: 3
  givenname: James
  surname: Jones
  fullname: Jones, James
  organization: University of California
– sequence: 4
  givenname: Arie
  surname: van Deursen
  fullname: van Deursen, Arie
  organization: Delft University of Technology
BookMark eNotjM1KAzEYRaMo2NauXbjJC0xN8uWvyzK0Vijooq5Lfr6xI51JSUbQt3eorg73cLhTctOnHgl54GzBuVRPwJcaBF9cKOGKTEfLQBku7TWZCC2hMtzwOzIv5ZMxBoKBNGZCNtsWs8vh2AZ3oitfhuzC0KaepoauvzF8XcZ-tFhokzJ9y-kju47WqTtnPGJfxuCe3DbuVHD-zxl536z39bbavT6_1Ktd5YQ0Q2W50EL5YFg0wjvPXBTCG8a0WQbQwiu0KjIfgxPBc7Aeo2rGvuFoI1iYkce_3xYRD-fcdi7_HOzSANMAvy9mTYk
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/3196321.3196343
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 1450357148
9781450357142
EISSN 2643-7171
EndPage 96
ExternalDocumentID 8973063
Genre orig-research
GroupedDBID 6IE
6IF
6IL
6IN
AAJGR
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
OCL
RIE
RIL
ID FETCH-LOGICAL-a247t-812625bc70d72bab0ad22b700679c362b5e85d0bdca2cb138bed5fbc7f1e8d383
IEDL.DBID RIE
IngestDate Wed Aug 13 06:23:00 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a247t-812625bc70d72bab0ad22b700679c362b5e85d0bdca2cb138bed5fbc7f1e8d383
PageCount 11
ParticipantIDs ieee_primary_8973063
PublicationCentury 2000
PublicationDate 2018-May
PublicationDateYYYYMMDD 2018-05-01
PublicationDate_xml – month: 05
  year: 2018
  text: 2018-May
PublicationDecade 2010
PublicationTitle 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC)
PublicationTitleAbbrev ICPC
PublicationYear 2018
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0003203477
ssj0002869941
Score 2.194306
Snippet 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,...
SourceID ieee
SourceType Publisher
StartPage 86
SubjectTerms Accuracy
Bridges
Codes
Documentation
Dynamic Analysis
Execution trace understanding
multi level abstraction
Program comprehension
Semantics
Software systems
Source coding
Title Hierarchical Abstraction of Execution Traces for Program Comprehension
URI https://ieeexplore.ieee.org/document/8973063
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3NS8MwFA_bTp6mbuI3OXi0XZuPJj2KOIYw8eBgt9EkryhKK6MD8a_3Je2miAdPTUsIIX3J772X93uPkCvn81MKq6JSZBChBo7noBJlBE64lGe4oZz3d8wfstlC3C_lskeud1wYAAjBZxD7ZrjLd7XdeFfZROcojxnvkz4abi1Xa-dPYTrLt5xM_85ZwoVSXTafVMhJEDaWxuHpWTo_yqkENJkOyXw7jzaI5DXeNCa2n79SNP53ovtk_M3bo487RDogPagOyXBbuIF2-3hEprMXzzsOZVDe6I3x7o7Ab6B1Se8-wAZppIhjeIpQVGv9qD6Mi_qx1vDso97rakwW07un21nUFVSICiZUEyGYo7ljrEqcYqYwSeEYM8ojVm4RyYwELV1inC2YNSnXBpwssX-ZgnZoyx6RQVVXcEwoqpVW5jwtUAHwpdW1BMgNyNxJwYGzEzLyy7J6b3NmrLoVOf378xnZQ0VEt4GE52TQrDdwgWDfmMvwl78Aekuohw
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwELZKGWAq0CLeeGAkaeNHHiNCVAHaiqGVulWxfREIlKAqlRC_nrOTFoQYmPJQZFnO2d_n8313hFwZm59S6MjLRQgeMnBcByORe2CECXiIE8pYf8d4EqYz8TCX8xa53mhhAMAFn4Fvb91Zvin1yrrK-nGC9hjyLbKNuC9ZrdbaeFRYHCZrVaZ95mzARRQ1-XwCIfvO3Fjgu6vV6fwoqOLwZNgh43VP6jCSV39VKV9__krS-N-u7pHet3KPPm0waZ-0oDggnXXpBtrM5C4Zpi9WeewKobzRG2UdHk7hQMuc3n2AdvZIEclwHaFIbG2rNpCL2raW8Gzj3suiR2bDu-lt6jUlFbyMiajyEM5xw6N0NDARU5kaZIYxFVnMSjRimZIQSzNQRmdMq4DHCozM8fs8gNjgbvaQtIuygCNCkVhqmfAgQwpgi6vHEiBRIBMjBQfOjknXDsvivc6asWhG5OTv15dkJ52OR4vR_eTxlOwiLYnrsMIz0q6WKzhH6K_UhfvjX3j7q9E
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=proceeding&rft.title=2018+IEEE%2FACM+26th+International+Conference+on+Program+Comprehension+%28ICPC%29&rft.atitle=Hierarchical+Abstraction+of+Execution+Traces+for+Program+Comprehension&rft.au=Feng%2C+Yang&rft.au=Dreef%2C+Kaj&rft.au=Jones%2C+James&rft.au=van+Deursen%2C+Arie&rft.date=2018-05-01&rft.pub=ACM&rft.eissn=2643-7171&rft.spage=86&rft.epage=96&rft_id=info:doi/10.1145%2F3196321.3196343&rft.externalDocID=8973063