Skip to main content

Learning the Language of Error

Martin Chapman‚ Hana Chockler‚ Pascal Kesseli‚ Daniel Kroening‚ Ofer Strichman and Michael Tautschnig

Abstract

We propose to harness Angluin’s L∗ algorithm for learning a deterministic finite automaton 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. This can be used, for example, for visually comparing different versions of a program, by presenting an automaton for the behavior in the symmetric difference between them, or for assisting in merging several development branches. We present initial experiments that demonstrate the power of an abstract visual representation of errors and of program segments. This work was supported in part by the Google Faculty Research Award 2014.

Address
Cham
Book Title
Automated Technology for Verification and Analysis: 13th International Symposium‚ ATVA 2015‚ Shanghai‚ China‚ October 12−15‚ 2015‚ Proceedings
Editor
Finkbeiner‚ Bernd and Pu‚ Geguang and Zhang‚ Lijun
ISBN
978−3−319−24953−7
Pages
114–130
Publisher
Springer International Publishing
Year
2015