R. Khoury, A. Hamou-Lhadj, Mohamed Ilyes Rahim, Sylvain Hallé, Fábio Petrillo
{"title":"TRIADE A Three-Factor Trace Segmentation Method to Support Program Comprehension","authors":"R. Khoury, A. Hamou-Lhadj, Mohamed Ilyes Rahim, Sylvain Hallé, Fábio Petrillo","doi":"10.1109/ISSREW.2019.00103","DOIUrl":null,"url":null,"abstract":"Trace analysis allows software engineers to gain insights into the behavior of the systems they maintain, and thus serves as an essential tool to aid in multiple tasks that require an understanding of complex systems, including security analysis, debugging and maintenance. However, the considerable size of execution traces can hinder the effectiveness of trace analysis. There exist techniques that extract higher level abstractions from a lengthy trace by automatically segmenting a trace into a number of cohesive segments, allowing software engineers to focus only on the segments of interest. In this paper, we improve on related work on segmenting traces of method calls by considering three factors: method names, method calling relationship, and method parameters. We show experimentally that this approach is more effective for the purpose of dividing a trace in a manner concordant with the underlying behavior of the program than existing algorithms. We also examine the issue of key element extraction from a trace, and again demonstrate experimentally that traces segmented using our method can more readily be subjected to this analysis","PeriodicalId":166239,"journal":{"name":"2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"56 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSREW.2019.00103","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Trace analysis allows software engineers to gain insights into the behavior of the systems they maintain, and thus serves as an essential tool to aid in multiple tasks that require an understanding of complex systems, including security analysis, debugging and maintenance. However, the considerable size of execution traces can hinder the effectiveness of trace analysis. There exist techniques that extract higher level abstractions from a lengthy trace by automatically segmenting a trace into a number of cohesive segments, allowing software engineers to focus only on the segments of interest. In this paper, we improve on related work on segmenting traces of method calls by considering three factors: method names, method calling relationship, and method parameters. We show experimentally that this approach is more effective for the purpose of dividing a trace in a manner concordant with the underlying behavior of the program than existing algorithms. We also examine the issue of key element extraction from a trace, and again demonstrate experimentally that traces segmented using our method can more readily be subjected to this analysis