Lune

FSE2020顶会

When does my program do this? learning circumstances of software behavior

Alexander Kampmann, Nikolas Havrikov, Ezekiel O. Soremekun, Andreas Zeller

2020年份
29被引次数
6顶会引用

摘要

A program fails. Under which circumstances does the failure occur? Our Alhazen approach starts with a run that exhibits a particular behavior and automatically determines input features associated with the behavior in question: (1) We use a grammar to parse the input into individual elements. (2) We use a decision tree learner to observe and learn which input elements are associated with the behavior in question. (3) We use the grammar to generate additional inputs to further strengthen or refute hypotheses as learned associations. (4) By repeating steps 2 and 3, we obtain a theory that explains and predicts the given behavior. In our evaluation using inputs for find, grep, NetHack, and a JavaScript transpiler, the theories produced by Alhazen predict and produce failures with high accuracy and allow developers to focus on a small set of input features: łgrep fails whenever the --fixed-strings option is used in conjunction with an empty search string. ž

• Software and its engineering → Software testing and debugging; • Theory of computation → Grammars and context-free languages; Oracles and decision trees; Active learning.

问问这篇 Paper

智能体会读完全文。

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

可以从这些问题问起

智能体调用

Luneget_paper_fulltext

在 Lune 里问

免费开始,无需绑卡

引用它的顶会 Paper6

问问它们各自怎么用它

它引用的顶会 Paper1

相关 Paper

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