Minimization, Learning, and Conformance Testing of Boolean Programs
نویسندگان
چکیده
Boolean programs with recursion are convenient abstractions of sequential imperative programs, and can be represented as recursive state machines (RSMs) or pushdown automata. Motivated by the special structure of RSMs, we define a notion of modular visibly pushdown automata (modular VPA) and show that for the class of languages accepted by such automata, unique minimal modular VPA exist. This yields an efficient approximate minimization theorem that minimizes RSMs to within a factor of k of the minimal RSM, where k is the maximum number of parameters in any module. Using the congruence defined for minimization, we show an active learning algorithm (with a minimally adequate teacher) for context free languages in terms of modular VPAs. We also present an algorithm that constructs complete test suites for Boolean program specifications. Finally, we apply our results on learning and test generation to perform model checking of black-box Boolean
منابع مشابه
Conformance Testing of Boolean Programs with Multiple Faults
Conformance testing is the problem of constructing a complete test suite of inputs based on a specification S such that any implementation I (of size less than a given bound) that is not equivalent to S gives a different output on the test suite than S. Typically I and S are assumed to be some type of finite automata. In this paper we consider the problem of constructing test suites for boolean...
متن کاملTesting of Concurrent Programs Based on Message Sequence Charts
Most prior work on specification-based testing of concurrent programs have postulated an equivalence relation between specifications and programs. However, the equivalence relation, which requires a specification and a program to encompass the same set of synchronization sequences, is not well-suited for testing concurrent programs against partial and nondeterministic specifications. In this pa...
متن کاملOnline Testing with Reinforcement Learning
Online testing is a practical technique where test derivation and test execution are combined into a single algorithm. In this paper we describe a new online testing algorithm that optimizes the choice of test actions using Reinforcement Learning (RL) techniques. This provides an advantage in covering system behaviors in less time than with a purely random choice of test actions. Online testing...
متن کاملRegression Testing and Conformance Testing Interactive Programs
Testing interactive programs, by its nature, requires interaction – usually by real people. Such testing is an expensive process and hence rarely done. Some interactive tools can be used non-interactively to a limited extent, and are often tested only this way. Purely interactive programs are rarely tested in any systematic way. This paper describes testing of interactive line and character-ori...
متن کاملTesting Ada 95 Programs for Conformance to Rapide Architectures
The architecture of a system expresses the structural aspects of the system | the modules, the control structure, communication patterns , sharing of data and composition of modules. The architecture of a complex software system is a signiicant issue in the proper design, analysis and possibility of reuse of the software system. This paper describes how the architecture of an Ada program may be...
متن کامل