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...
Saved in:
Published in | 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC) pp. 86 - 96 |
---|---|
Main Authors | , , , |
Format | Conference Proceeding |
Language | English |
Published |
ACM
01.05.2018
|
Subjects | |
Online Access | Get 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 |