Learning the Language of Software Errors

被引:0
|
作者
Chockler, Hana [1 ]
Kesseli, Pascal [2 ]
Kroening, Daniel [2 ]
Strichman, Ofer [3 ]
机构
[1] Kings Coll London, Dept Informat, London, England
[2] Univ Oxford, Dept Comp Sci, Oxford, England
[3] Technion, Informat Syst Engn, Haifa, Israel
来源
JOURNAL OF ARTIFICIAL INTELLIGENCE RESEARCH | 2020年 / 67卷
关键词
QUERIES;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We propose to use algorithms for learning deterministic finite automata (DFA), such as Angluin's L* algorithm, for learning a DFA that describes the possible scenarios under which a given program error occurs. The alphabet of this automaton is given by the user (for instance, a subset of the function call sites or branches), and hence the automaton describes a user-defined abstraction of those scenarios. More generally, the same technique can be used for visualising the behavior of a program or parts thereof. It can also be used for visually comparing different versions of a program (by presenting an automaton for the behavior in the symmetric difference between them), and for assisting in merging several development branches. We present experiments that demonstrate the power of an abstract visual representation of errors and of program segments, accessible via the project's web page. In addition, our experiments in this paper demonstrate that such automata can be learned efficiently over real-world programs. We also present lazy learning, which is a method for reducing the number of membership queries while using L*, and demonstrate its effectiveness on standard benchmarks.
引用
收藏
页码:881 / 903
页数:23
相关论文
共 50 条
  • [1] TiQi: A Natural Language Interface for Querying Software Project Data
    Lin, Jinfeng
    Liu, Yalin
    Guo, Jin
    Cleland-Huang, Jane
    Goss, William
    Liu, Wenchuang
    Lohar, Sugandha
    Monaikul, Natawut
    Rasin, Alexander
    PROCEEDINGS OF THE 2017 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE'17), 2017, : 973 - 977
  • [2] Learning-Based Software Testing: A Tutorial
    Meinke, Karl
    Niu, F.
    Sindhu, M.
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION, AND VALIDATION, 2012, 336 : 200 - 219
  • [3] Towards a Bio-computational Model of Natural Language Learning
    Becerra-Bonache, Leonor
    ADVANCES IN COMPUTATIONAL INTELLIGENCE, IWANN 2011, PT I, 2011, 6691 : 473 - 480
  • [4] Children as Models for Computers: Natural Language Acquisition for Machine Learning
    Becerra-Bonache, Leonor
    Jimenez-Lopez, M. Dolores
    AI METHODS FOR INTERDISCIPLINARY RESEARCH IN LANGUAGE AND BIOLOGY, 2011, : 67 - 76
  • [5] Malicious omissions and errors in answers to membership queries
    Angluin, D
    Krikis, M
    Sloan, RH
    Turan, G
    MACHINE LEARNING, 1997, 28 (2-3) : 211 - 255
  • [6] Resource Bounded Frequency Computations with Three Errors
    Hertrampf, Ulrich
    Minnameier, Christoph
    ALGORITHMICA, 2010, 56 (03) : 342 - 363
  • [7] Malicious Omissions and Errors in Answers to Membership Queries
    Dana Angluin
    Mārtiņš Kriķis
    Robert H. Sloan
    György Turán
    Machine Learning, 1997, 28 : 211 - 255
  • [8] Complexity in Language Acquisition
    Clark, Alexander
    Lappin, Shalom
    TOPICS IN COGNITIVE SCIENCE, 2013, 5 (01) : 89 - 110
  • [9] Semantic errors in SQL queries: A quite complete list
    Brass, Stefan
    Goldberg, Christian
    JOURNAL OF SYSTEMS AND SOFTWARE, 2006, 79 (05) : 630 - 644
  • [10] A survey of grammatical inference in software engineering
    Stevenson, Andrew
    Cordy, James R.
    SCIENCE OF COMPUTER PROGRAMMING, 2014, 96 : 444 - 459