Identifying Core Objects for Trace Summarization Using Reference Relations and Access Analysis

Kunihiro Noda, Takashi Kobayashi, Tatsuya Toda, Noritoshi Atsumi
{"title":"Identifying Core Objects for Trace Summarization Using Reference Relations and Access Analysis","authors":"Kunihiro Noda, Takashi Kobayashi, Tatsuya Toda, Noritoshi Atsumi","doi":"10.1109/COMPSAC.2017.142","DOIUrl":null,"url":null,"abstract":"Behaviors of an object-oriented system can be visualized as reverse-engineered sequence diagrams from execution traces. This approach is a valuable tool for program comprehension tasks. However, owing to the massiveness of information contained in an execution trace, a reverse-engineered sequence diagram is often afflicted by a scalability issue. To address this issue, we present in this paper a method for identifying core objects for trace summarization by reference relations and access analysis. We detect and eliminate temporary objects that are trivial for a system, and then estimate the importance of non-trivial objects. By grouping objects with a focus on highly important ones (i.e., core objects), we visualize the system's behavior in terms of intergroup interactions. Consequently, we obtain a readable size of a reverse-engineered sequence diagram containing the system's key behavior. We implemented our technique in our tool and evaluated it by using traces from open-source software systems. The results showed that our reverse-engineered sequence diagrams contained only less than 30 lifelines, whereas the original diagrams (no abstraction methods were applied) contained approximately 1,000 to 3,000 lifelines. Our proposed method achieved significant reduction of the horizontal size of the diagram and is expected to be a valuable tool for program comprehension.","PeriodicalId":6556,"journal":{"name":"2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)","volume":"5 1","pages":"13-22"},"PeriodicalIF":0.0000,"publicationDate":"2017-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/COMPSAC.2017.142","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

Abstract

Behaviors of an object-oriented system can be visualized as reverse-engineered sequence diagrams from execution traces. This approach is a valuable tool for program comprehension tasks. However, owing to the massiveness of information contained in an execution trace, a reverse-engineered sequence diagram is often afflicted by a scalability issue. To address this issue, we present in this paper a method for identifying core objects for trace summarization by reference relations and access analysis. We detect and eliminate temporary objects that are trivial for a system, and then estimate the importance of non-trivial objects. By grouping objects with a focus on highly important ones (i.e., core objects), we visualize the system's behavior in terms of intergroup interactions. Consequently, we obtain a readable size of a reverse-engineered sequence diagram containing the system's key behavior. We implemented our technique in our tool and evaluated it by using traces from open-source software systems. The results showed that our reverse-engineered sequence diagrams contained only less than 30 lifelines, whereas the original diagrams (no abstraction methods were applied) contained approximately 1,000 to 3,000 lifelines. Our proposed method achieved significant reduction of the horizontal size of the diagram and is expected to be a valuable tool for program comprehension.
利用引用关系和访问分析识别跟踪摘要的核心对象
面向对象系统的行为可以从执行轨迹中可视化为逆向工程序列图。这种方法对于程序理解任务是一种有价值的工具。然而,由于执行跟踪中包含大量信息,逆向工程序列图经常受到可伸缩性问题的困扰。为了解决这一问题,本文提出了一种通过引用关系和访问分析来识别跟踪摘要的核心对象的方法。我们检测和消除对系统来说微不足道的临时对象,然后估计非微不足道对象的重要性。通过将重点放在非常重要的对象(例如,核心对象)上的对象分组,我们可以根据组间交互来可视化系统的行为。因此,我们获得了包含系统关键行为的反向工程序列图的可读大小。我们在我们的工具中实现了我们的技术,并通过使用来自开源软件系统的跟踪来评估它。结果显示,我们的逆向工程序列图只包含少于30条生命线,而原始图(没有应用抽象方法)包含大约1,000到3,000条生命线。我们提出的方法大大减少了图的水平尺寸,有望成为程序理解的有价值的工具。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信