Examples are implementations of network protocols, which typically consist of many thousands of lines of code, but after appropriate abstraction induce state diagrams with at most a few dozen states, see e.g. This allows it to extract simple models of complex software, especially if we choose the right perspective (e.g., focus on a subset of a component’s functionality) and apply appropriate abstractions. A key strength of model learning is that it aims to produce succinct models of the externally observable behavior of the SUL. The most widely known algorithm for model learning of finite automata is \(L^*\) , which has, e.g., been implemented in the LearnLib framework . observed that learning models can be used as a basis for model checking of black-box components. Equivalence queries can be approximated using a conformance testing tool via a finite number of test queries to the SUL. An I/O query can now be implemented by bringing the SUL to its initial state and then observing the outputs generated in response to the given input sequence. They assume a software component, called the System Under Learning (SUL), whose behavior can be described by (an unknown) state machine, and which can always be brought back to its initial state. made the important observation that the MAT framework can be used for black-box learning of abstract and concise state machine models of software components. An equivalence query asks whether a hypothesized state machine is equivalent to the sought finite automaton it is answered by yes if this is the case, otherwise by a counterexample that distinguishes the hypothesized and sought state machines. A membership (or I/O) query asks what the output is in response to an input sequence. Learning interfaces of classes in software libraries (e.g., ),Ĭhecking that a legacy component and a refactored implementation have the same behavior (e.g., ).Īctive automata learning techniques are partly based on a landmark paper by Angluin showing that finite automata can be learned in the so-called Minimally Adequate Teacher (MAT) framework , using two types of queries. learning-based testing (e.g., ),įinding mistakes in implementations of security-critical protocols (e.g., ), Generating conformance test suites of software components, a.k.a. Model learning has been successfully used in several different application domains, including Model learning, also known as active automata learning, is a black-box technique which constructs state machine models of software and hardware components from information obtained by providing inputs and observing the resulting outputs. In this paper, we explore some directions for future research on how black-box model learning can be enhanced using white-box information extraction methods, with the aim to maintain the benefits of dynamic black-box methods while making effective use of information that can be obtained through white-box techniques. In the black-box model of active automata learning this can be costly and require many tests, while in many application scenarios source code is available for analysis. Such techniques infer guards over data parameters and assignments from observations of test output. Recently, various techniques have been employed to extend automata learning to extended automata models, which combine control flow with guards and assignments to data variables. In order to make model learning more widely applicable, it must be further developed to scale better to large models and to generate richer classes of models. The underlying theoretic framework (active automata learning) was first introduced in a landmark paper by Dana Angluin in 1987 for finite state machines. Model learning is a black-box technique for constructing state machine models of software and hardware components, which has been successfully used in areas such as telecommunication, banking cards, network protocols, and control software.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |