Analysis and testing of black-box component based systems by inferring partial models
Résumé
From 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.