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 条
  • [21] Evaluating the Interpretation of Natural Language Trace Queries
    Lohar, Sugandha
    Cleland-Huang, Jane
    Rasin, Alexander
    REQUIREMENTS ENGINEERING: FOUNDATION FOR SOFTWARE QUALITY, REFSQ 2016, 2016, 9619 : 85 - 101
  • [22] Approximate Querying for the Property Graph Language Cypher
    Fletcher, George
    Poulovassilis, Alexandra
    Selmer, Petra
    Wood, Peter T.
    2019 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2019, : 617 - 622
  • [23] How to Formulate Specific How-To Questions in Software Development?
    Liu, Mingwei
    Peng, Xin
    Marcus, Andrian
    Treude, Christoph
    Xie, Jiazhan
    Xu, Huanjun
    Yang, Yanjun
    PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 306 - 318
  • [24] Using clarification questions to improve software developers' Web search
    Imran, Mia Mohammad
    Damevski, Kostadin
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 151
  • [25] CLASSIC learning
    Frazier, M
    Pitt, L
    MACHINE LEARNING, 1996, 25 (2-3) : 151 - 193
  • [26] TiQi: answering unstructured natural language trace queries
    Pruski, Piotr
    Lohar, Sugandha
    Goss, William
    Rasin, Alexander
    Cleland-Huang, Jane
    REQUIREMENTS ENGINEERING, 2015, 20 (03) : 215 - 232
  • [27] DIY: Assessing the Correctness of Natural Language to SQL Systems
    Narechania, Arpit
    Fourney, Adam
    Lee, Bongshin
    Ramos, Gonzalo
    IUI '21 - 26TH INTERNATIONAL CONFERENCE ON INTELLIGENT USER INTERFACES, 2021, : 597 - 607
  • [28] TiQi: answering unstructured natural language trace queries
    Piotr Pruski
    Sugandha Lohar
    William Goss
    Alexander Rasin
    Jane Cleland-Huang
    Requirements Engineering, 2015, 20 : 215 - 232
  • [29] A comparative survey of recent natural language interfaces for databases
    Affolter, Katrin
    Stockinger, Kurt
    Bernstein, Abraham
    VLDB JOURNAL, 2019, 28 (05): : 793 - 819
  • [30] Learning Broadcast Protocols
    Fisman, Dana
    Izsak, Noa
    Jacobs, Swen
    THIRTY-EIGHTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, VOL 38 NO 11, 2024, : 12016 - 12023