PhDOOS Logo

Supported by AITO.

These pages are currently maintained by Alex Potanin

 

Test Strategies for Real-Time Safety-Critical Avionics Applications Developed with Java

Philippe Chevalley
( French )

LAAS-CNRS
7, avenue du Colonel Roche 31077 Toulouse Cedex 4 FRANCE
tel: +33 5 61 33 63 14
fax: +33 5 61 33 64 11
chevalley@laas.fr

Keywords:

real-time software engineering Software testing Object-oriented Java UML

Abstract:

Testing is a dynamic approach of verification in which software is executed by supplying it with selected data to reveal the presence of residual faults. Since exhausti ve testing is not feasible, the tester is faced with the problem of selecting a subset of the input domain that is well-suited for revealing faults. The selection is guided by conditions (i.e., test criteria) to be satisfied during testing. These conditions are generally based upon some required coverage that the selected data should achieve. Testing strategies are well-known for procedural programs but must evolve to take account of the improvement of software engineering, and especially the adoption of the object-oriented technology. Indeed, indu strials are looking for integrating this technology in the development of critical software that must satisfy stringent certification procedures. In this context, the aim of my research w ork is to define new testing strategies to verify object-oriented programs in a semiautomatic, or even automatic manner. The use of formal methods for specifying critical software seems t o be on the right track but it has still to evolve to be fully integrated in an industrial context. The Unified Modeling Language (UML) is said semiformal and provides different views for describing software. This language is becoming popular and may constitute a formalism on which we could define test strategies.

Therefore, we have evaluated several software engineering tools supporting UML and finally decided on Rose RealTime from Rational Software which allows the visualizatio n and animation of models. However, this tool extends UML with the notion of capsules, ports and protocols. A capsule is an active class that communicates via its ports through a protoco l. The capsule behavior is represented in a state diagram which is similar to Harels Statecharts. This notation, based on finite state machines, is expressive for specifying large and c omplex reactive systems. To test a capsule and its equivalent class in software, a probabilistic method of test data generation will be used. It is called statistical testing. Sinc e the object-oriented paradigm modifies the programs characteristics compared with procedural programs, new criteria should be used to test object-oriented software. These criteria will b e related to the coverage of models specific to OO applications; they will be defined towards the aim of automatically generating test cases. The test cases will be used to test Java appl ications: this programming language will be analyzed in order to identify the features not sufficiently tested from high order functional models.

This thesis is achieved in the framework of a co-operative work between LAAS-CNRS and the Advanced Technology Center of Rockwell-Collins, who is currently exploring the use of Java in real-time safety-critical avionics applications. Hence, our test strategy will be experiment on a large industrial system, a research version of the Flight Guidance Mode L ogic System (FGS) provided by Rockwell-Collins and written with the Java programming language. This case study was specified with the Software Cost Reduction (SCR) formal method and test cases have been created at Rockwell-Collins by using T-Vec (Test vector), a system level automatic test data generator, from SCR specification. Our test strategy will finally be compared with those implemented in the T-Vec system.

The PhD work started: October 01, 1998


The submitted work will probably not be presented in the
upcoming ECOOP PhD Workshop.


HTML3
JAVA

 


Last modified on Mon Aug 15 14:59:24 2005