kirancodes.me
To Proof Maintenance & Beyond!

Inferring hierarchical motifs from execution traces

Saba Alimadadi, Ali Mesbah, Karthik Pattabiraman

Abstract

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%.

BibTeX
@inproceedings{Alimadadi-al:ICSE18,
  author    = {Saba Alimadadi and
               Ali Mesbah and
               Karthik Pattabiraman},
  title     = {Inferring hierarchical motifs from execution traces},
  booktitle = {ICSE},
  pages     = {776--787},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers