An agnostic and efficient approach to identifying features from execution traces
作者:
Highlights:
•
摘要
Program comprehension is a necessary step during software understanding and maintenance. It is usually performed by analyzing data gathered from program execution. These execution traces reveal the relationship between high-level concepts (features) and low-level implementation details. However, identifying features from execution traces is difficult and time-consuming due to their large volume and complexity. Existing work assists the process by semi-automated tools, leveraging either human input or prior knowledge of the program implementation. It remains the key limitation towards a general method to build such mapping. In this paper, we proposed TRASE, an approach to identify features by segmenting the execution traces without the need for any human intervention. The segments are identified by mining recurring patterns on a sequence database, which is constructed by numerous execution traces gathered from normal use of a program. Each segment refers to a feature and the labels are inferred from the traces to assist program comprehension. The performance is evaluated on traces collected from android applications and a synthetic dataset. TRASE achieved up to 86% in F1 score and the result indicates that it is robust to highly variate traces while efficient for large data.
论文关键词:Execution trace,Dynamic analysis,Program comprehension,Sequential pattern mining
论文评审过程:Received 27 December 2021, Revised 21 March 2022, Accepted 4 May 2022, Available online 13 May 2022, Version of Record 2 June 2022.
论文官网地址:https://doi.org/10.1016/j.knosys.2022.108988