Journal article icon

Journal article

Learning the language of software errors

Abstract:
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.
Publication status:
Published
Peer review status:
Peer reviewed

Actions


Access Document


Files:
Publisher copy:
10.1613/jair.1.11798

Authors


More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Sub department:
Computer Science
Role:
Author
More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Sub department:
Computer Science
Role:
Author
ORCID:
0000-0002-6681-5283


Publisher:
AI Access Foundation
Journal:
Journal of Artificial Intelligence Research More from this journal
Volume:
67
Issue:
2020
Publication date:
2020-04-23
Acceptance date:
2020-01-25
DOI:
EISSN:
1943-5037
ISSN:
1076-9757


Language:
English
Keywords:
Pubs id:
1091734
Local pid:
pubs:1091734
Deposit date:
2020-03-08

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP