An overview of Lutess a specification-based tool for testing synchronous software

Test data generation and test execution are both time-consuming activities when done manually. Automated testing methods promise to save a great deal of human effort. This especially applies to reactive programs which have complex behaviour over time and which require long test sequences. We present Lutess, a testing environment for synchronous reactive software. Lutess produces automatically and dynamically test data with respect to some environment constraints of the program under test. Moreover, it allows to trace the test execution and spot the situations where the program violates its properties. Lutess offers several specification-based testing methods. They aim at simulating more realistic environment behaviours, producing relevant data to test thoroughly a given property or driving the program under test into interesting situations. To produce the test data, the methods use different types of guides: statistical distribution of the input generation, properties, or behavioural patterns. Lutess proved to be powerful and easy to use in industrial case studies. Lutess won the Best Tool Award of the first Feature Interaction Detection Contest. The tool is described from a practical point of view.

[1]  Richard G. Hamlet,et al.  Partition Testing Does Not Inspire Confidence , 1990, IEEE Trans. Software Eng..

[2]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[3]  Lydie du Bousquet,et al.  Expressing and implementing operational profiles for reactive software validation , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[4]  Nicolas Halbwachs,et al.  Automatic testing of reactive systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[5]  James A. Whittaker Markov Chain Techniques for Software Testing and Reliability Analysis, PhD Dissertation , 1992 .

[6]  Adam A. Porter,et al.  Specification-based Testing of Reactive Software: Tools and Experiments Experience Report , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[7]  Ioannis Parissis Test de logiciels synchrones spécifiés en Lustre , 1996 .

[8]  Lydie du Bousquet,et al.  Lutess: a specification-driven testing environment for synchronous software , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[9]  Lydie du Bousquet,et al.  Feature interaction detection using a synchronous approach and testing , 2000, Comput. Networks.

[10]  Nicolas Halbwachs,et al.  Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE , 1992, IEEE Trans. Software Eng..

[11]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[12]  Lydie du Bousquet Feature Interaction Detection Using Testing and Model-Checking Experience Report , 1999, World Congress on Formal Methods.

[13]  Nicolas Halbwachs,et al.  LUSTRE: a declarative language for real-time programming , 1987, POPL '87.

[14]  Ioannis Parissis,et al.  Testing synchronous critical software , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[15]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[16]  Lydie du Bousquet,et al.  Incremental Feature Validation: a Synchronous Point of View , 1998, FIW.