Inferring Hierarchical Motifs from Execution Traces

Inferring Hierarchical Motifs from Execution Traces
复制标题

DOI:
10.1145/3180155.3180216
复制
发表时间:
2018-05
期刊:
2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Saba Alimadadi;A. Mesbah;K. Pattabiraman
Saba Alimadadi;A. Mesbah;K. Pattabiraman
中科院分区:
其他
文献类型:
--
作者:
Saba Alimadadi;A. Mesbah;K. Pattabiraman

文献摘要

被引文献

相似文献

程序理解是执行许多软件工程任务的必要步骤。动态分析可以有效地产生有助于理解的执行轨迹。跟踪是关于程序行为的丰富信息来源。然而,由于痕迹的数据量和复杂性,要从痕迹中获得洞察力是具有挑战性的。我们提出了一种通用的技术,通过推断重复的执行主题来促进理解。受到生物信息学的启发,主题是痕迹中的模式,可以灵活地在执行过程中进行微小的变化,并在分层模型中捕获。该模型的分层性质提供了高级别行为的概述,同时以结构化的方式保留了执行细节和中间级别。我们设计了一个可视化工具,允许开发人员观察模型并与之交互。我们在一个名为Sabalan的开源工具中实现了我们的方法,并通过用户实验对其进行了评估。结果表明,使用Sabalan将开发人员执行理解任务的准确率提高了54%。
Program comprehension is a necessary step for performing many software engineering tasks. Dynamic analysis is effective in producing execution traces that assist comprehension. Traces are rich sources of information regarding the behaviour of a program. However, it is challenging to gain insight from traces due to their overwhelming amount of data and complexity. We propose a generic technique for facilitating comprehension by inferring recurring execution motifs. Inspired by bioinformatics, motifs are patterns in traces that are flexible to small changes in execution, and are captured in a hierarchical model. The hierarchical nature of the model provides an overview of the behaviour at a high-level, while preserving the execution details and intermediate levels in a structured manner. We design a visualization that allows developers to observe and interact with the model. We implement our approach in an open-source tool, called Sabalan, and evaluate it through a user experiment. The results show that using Sabalan improves developers' accuracy in performing comprehension tasks by 54%.