scholarly journals Learning the Language of Software Errors

2020 ◽  
Vol 67 ◽  
pp. 881-903
Author(s):  
Hana Chockler ◽  
Pascal Kesseli ◽  
Daniel Kroening ◽  
Ofer Strichman

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.

Author(s):  
Michal Hospodár ◽  
Markus Holzer

We examine the accepting state complexity, i.e., the minimal number of accepting states of deterministic finite automata for languages resulting from unary and binary operations on languages with accepting state complexity given as a parameter. This is a continuation of the work of [J. Dassow: On the number of accepting states of finite automata, J. Autom., Lang. Comb., 21, 2016]. We solve most of the open problems mentioned thereof. In particular, we consider the operations of intersection, symmetric difference, right and left quotients, reversal, and permutation (on finite languages), where we obtain precise ranges of accepting state complexities. We also consider symmetric difference on unary finite languages where we obtain a non-contiguous range of accepting state complexities.


2003 ◽  
Vol 87 (4) ◽  
pp. 187-193
Author(s):  
Jean H. Gallier ◽  
Salvatore La Torre ◽  
Supratik Mukhopadhyay

2017 ◽  
Vol 91 (4) ◽  
pp. 874-886 ◽  
Author(s):  
Xiaoguang Han ◽  
Zengqiang Chen ◽  
Zhongxin Liu ◽  
Qing Zhang

Author(s):  
Markus Frohme ◽  
Bernhard Steffen

AbstractThis paper presents a compositional approach to active automata learning of Systems of Procedural Automata (SPAs), an extension of Deterministic Finite Automata (DFAs) to systems of DFAs that can mutually call each other. SPAs are of high practical relevance, as they allow one to efficiently learn intuitive recursive models of recursive programs after an easy instrumentation that makes calls and returns observable. Key to our approach is the simultaneous inference of individual DFAs for each of the involved procedures via expansion and projection: membership queries for the individual DFAs are expanded to membership queries of the entire SPA, and global counterexample traces are transformed into counterexamples for the DFAs of concerned procedures. This reduces the inference of SPAs to a simultaneous inference of the DFAs for the involved procedures for which we can utilize various existing regular learning algorithms. The inferred models are easy to understand and allow for an intuitive display of the procedural system under learning that reveals its recursive structure. We implemented the algorithm within the LearnLib framework in order to provide a ready-to-use tool for practical application which is publicly available on GitHub for experimentation.


Author(s):  
ZHI-QIANG LIU ◽  
YA-JUN ZHANG

Recently many techniques, e.g., Google or AltaVista, are available for classifying well-organized, hierarchical crisp categories from human constructed web pages such as that in Yahoo. However, given the current rate of web-page production, there is an urgent need of classifiers that are able to autonomously classify web-page categories that have overlaps. In this paper, we present a competitive learning method for this problem, which based on a new objective function and gradient descent scheme. Experimental results on real-world data show that the approach proposed in this paper gives a better performance in classifying randomly-generated, knowledge-overlapped categories as well as hierarchical crisp categories.


Computability ◽  
2021 ◽  
pp. 1-16
Author(s):  
Merlin Carl

An important theorem in classical complexity theory is that REG = LOGLOGSPACE, i.e., that languages decidable with double-logarithmic space bound are regular. We consider a transfinite analogue of this theorem. To this end, we introduce deterministic ordinal automata (DOAs) and show that they satisfy many of the basic statements of the theory of deterministic finite automata and regular languages. We then consider languages decidable by an ordinal Turing machine (OTM), introduced by P. Koepke in 2005 and show that if the working space of an OTM is of strictly smaller cardinality than the input length for all sufficiently long inputs, the language so decided is also decidable by a DOA, which is a transfinite analogue of LOGLOGSPACE ⊆ REG; the other direction, however, is easily seen to fail.


Sign in / Sign up

Export Citation Format

Share Document