Lune

FSE2024顶会

Predictive Program Slicing via Execution Knowledge-Guided Dynamic Dependence Learning

Aashish Yadavally, Yi Li, Tien N. Nguyen

2024年份
4被引次数
2顶会引用

摘要

Program slicing, the process of extracting program statements that influence values at a designated location (known as the slicing criterion), is helpful in both manual and automated debugging. However, such slicing techniques prove ineffective in scenarios where executing specific inputs is prohibitively expensive, or even impossible, as with partial code. In this paper, we introduce ND- Slicer , a predictive slicing methodology that caters to specific executions based on a particular input, overcoming the need for actual execution. We enable such a process by leveraging execution-aware pre-training to learn the dynamic program dependencies, including both dynamic data and control dependencies between variables in the slicing criterion and the remaining program statements. Such knowledge forms the cornerstone for constructing a predictive backward slice. Our empirical evaluation revealed a high accuracy in predicting program slices, achieving an exact-match accuracy of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline"> mml:mn81.3</mml:mn> mml:mo%</mml:mo> </mml:math> and a ROUGE-LCS F1-score of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline"> mml:mn95.4</mml:mn> mml:mo%</mml:mo> </mml:math> on Python programs. As an extrinsic evaluation, we illustrate ND- Slicer 's usefulness in crash detection, with it locating faults with an accuracy of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline"> mml:mn63.9</mml:mn> mml:mo%</mml:mo> </mml:math> . Furthermore, we include an in-depth qualitative evaluation, assessing ND- Slicer ’s understanding of branched structures such as if-else blocks and loops, as well as the control flow in inter-procedural calls.

问问这篇 Paper

智能体会读完全文。

Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。

可以从这些问题问起

智能体调用

Luneget_paper_fulltext

在 Lune 里问

免费开始,无需绑卡

引用它的顶会 Paper2

问问它们各自怎么用它

它引用的顶会 Paper4

相关 Paper

黄昏的海面,两侧是细线勾勒的悬崖