一句话:提出从执行轨迹推断可容忍小变化的层次化重复模体,并实现可视化工具 Sabalan,提升程序理解准确率。
程序理解是许多软件工程任务的必要步骤,执行轨迹虽能提供丰富的程序行为信息,但数据量庞大且复杂,开发者难以从中获得有效洞见。受生物信息学启发,论文提出一种通用技术,从执行轨迹中推断重复出现的执行模体;这些模体对执行中的小变化具有灵活性,并被组织成层次模型:高层提供行为概览,同时结构化地保留执行细节和中间层。作者设计了可视化界面以支持开发者观察和交互该模型,并在开源工具 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%.
DOI 原文 ·
@inproceedings{paperbot4499,
title = {Inferring hierarchical motifs from execution traces},
author = {Saba Alimadadi and Ali Mesbah and Karthik Pattabiraman},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180216}
}