6 research outputs found
Query learning of derived -tree languages in polynomial time
We present the first polynomial time algorithm to learn nontrivial classes of
languages of infinite trees. Specifically, our algorithm uses membership and
equivalence queries to learn classes of -tree languages derived from
weak regular -word languages in polynomial time. The method is a
general polynomial time reduction of learning a class of derived -tree
languages to learning the underlying class of -word languages, for any
class of -word languages recognized by a deterministic B\"{u}chi
acceptor. Our reduction, combined with the polynomial time learning algorithm
of Maler and Pnueli [1995] for the class of weak regular -word
languages yields the main result. We also show that subset queries that return
counterexamples can be implemented in polynomial time using subset queries that
return no counterexamples for deterministic or non-deterministic finite word
acceptors, and deterministic or non-deterministic B\"{u}chi -word
acceptors.
A previous claim of an algorithm to learn regular -trees due to
Jayasrirani, Begam and Thomas [2008] is unfortunately incorrect, as shown in
Angluin [2016]
Analysis and testing of black-box component-based systems by inferring partial models
International audienceFrom experience in component-based software engineering, it is known that the integration of high-quality components may not yield high-quality software systems. It is difficult to evaluate all possible interactions between the components in the system to uncover inter-component misfunctions. The problem is even harder when the components are used without source code, specifications or formal models. Such components are called black boxes in literature. This paper presents an iterative approach of combining model learning and testing techniques for the formal analysis of a system of black-box components. In the approach, individual components in the system are learned as finite state machines that (partially) model the behavioural structure of the components. The learned models are then used to derive tests for refining the partial models and/or finding integration faults in the system. The approach has been applied on case studies that have produced encouraging results
Analysis and testing of black-box component based systems by inferring partial models
International audienceFrom experience in component-based software engineering, it is known that the integration of high-quality components may not yield high-quality software systems. It is difficult to evaluate all possible interactions between the components in the system to uncover inter-component misfunctions. The problem is even harder when the components are used without source code, specifications or formal models. Such components are called black boxes in literature. This paper presents an iterative approach of combining model learning and testing techniques for the formal analysis of a system of black-box components. In the approach, individual components in the system are learned as finite state machines that (partially) model the behavioural structure of the components. The learned models are then used to derive tests for refining the partial models and/or finding integration faults in the system. The approach has been applied on case studies that have produced encouraging results
Evaluating Software Testing Techniques: A Systematic Mapping Study
Software testing techniques are crucial for detecting faults in software and reducing the risk of using it. As such, it is important that we have a good understanding of how to evaluate these techniques for their efficiency, scalability, applicability, and effectiveness at finding faults. This thesis enhances our understanding of testing technique evaluations by providing an overview of the state of the art in research. To accomplish this we utilize a systematic mapping study; structuring the field and identifying research gaps and publication trends. We then present a small case study demonstrating how our mapping study can be used to assist researchers in evaluating their own software testing techniques. We find that a majority of evaluations are empirical evaluations in the form of case studies and experiments, most of these evaluations are of low quality based on proper methodology guidelines, and that relatively few papers in the field discuss how testing techniques should be evaluated