Skip to main content
Log in

Case studies with Lurette V2

  • Special Section on Leveraging Applications of Formal Methods
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Lurette is an automated testing tool dedicated to reactive programs. The test process is automated at two levels: given a formal description of the System Under Test (SUT) environment, Lurette generates realistic input sequences; and, given a formal description of expected properties, Lurette performs the test results analysis. Lurette has been re-implemented from scratch. In this new version, the main novelty lies in the way the SUT environment is described. This is done by means of a new language called Lucky, dedicated to the programming of probabilistic reactive systems. This article recalls the principles of Lurette, briefly presents the Lucky language, and describes some case studies from the IST project Safeair II. The objective is to illustrate the usefulness of Lurette on real case studies, and the expressiveness of Lucky in accurately describing SUT environments. We show in particular how Lurette can be used to test a typical fault-tolerant system; we also present case studies conducted with Hispano-Suiza and Renault.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Benveniste A., Berry G. (1991) The synchronous approach to reactive and real-time systems. Proc. IEEE 79(9): 1270–1282

    Article  Google Scholar 

  2. Benveniste A. Constructive probability and the SIGNalea language: building and processes via programming. Technical Report RR-1532, INRIA (1991)

  3. Bernardo M., Donatiello L., Ciancarini P. Stochastic process algebra: From an algebraic formalism to an architectural description language. In: Lecture Notes in Computer Science, vol. 2459, pp. 236–260 (2002)

  4. Berry G., Gonthier G. (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2): 87–152

    Article  Google Scholar 

  5. Bouali A. Xeve: an Esterel verification environment. In: Tenth International Conference on Computer-Aided Verification, CAV’98, Vancouver (B.C.), LNCS vol 1427. Springer, Berlin Heidelberg New York (1998)

  6. Bousquet L., Ouabdesselam F., Richier J., Zuanon N. Lutess: testing environment for synchronous software (1998)

  7. Derman C. Finite State Markovian Decision Processes. Academic New York (1970)

  8. Dion B. Correct-by-construction methods for the development of safety-critical applications (2003)

  9. Fernandez J.-C., Jard C., Jeron T., Viho C. (1997) An experiment in automatic generation of test suites for protocols with verification technology. Sci. Comput. Program. 29(1–2): 123–146

    Article  Google Scholar 

  10. Gaucher F., Jahier E. Maraninchi F., Jeannet B. Automatic state reaching for debugging reactive programs. In: AADEBUG, 5th International Workshop on Automated and Algorithmic Debugging. HAL – CCSd – CNRS (2003)

  11. Gauthier T., Le Guernic P., Besnard L. Signal, a declarative language for synchronous programming of real-time systems. In: Proceedings 3rd Conference on Functional Programming Languages and Computer Architecture, LNCS vol. 274. Springer, Berlin Heidelberg New York (1987)

  12. Halbwachs N., Caspi P., Raymond P., Pilaud D. (1991) The synchronous dataflow programming language lustre. Proc. IEEE 79(9): 1305–1320

    Article  Google Scholar 

  13. Halbwachs N., Caspi P., Raymond P., Pilaud D. (1991) The synchronous dataflow programming language lustre. Proc. IEEE 79(9): 1305–1320

    Article  Google Scholar 

  14. Halbwachs N., Lagnier F., Ratel C. Programming and verifying real-time systems by means of the synchronous data-flow programming language lustre. In: IEEE Transactions on Software Engineering, Special Issue on the Specification and Analysis of Real-Time Systems, pp. 785–793 (1992)

  15. Halbwachs N., Lagnier F., Raymond P. Synchronous observers and the verification of reactive systems. In: Nivat M., Rattray C., Rus T., Scollo G. (eds.), Third International Conference on Algebraic Methodology and Software Technology, AMAST’93, Twente, June 1993. Workshops in Computing, Springer, Berlin Heidelberg New York (1993)

  16. Jategaonkar Jagadeesan L., Porter A.A., Puchol C., Ramming J.C., Votta L.G.: Specification-based testing of reactive software: Tools and experiments (experience report). In: International Conference on Software Engineering, pp. 525–535 (1997)

  17. Jahier E. The Lurette V2 User guide. Technical Report TR-2004-5, Verimag, 2004. www-verimag.imag.fr/~synchron/tools.html

  18. Jeannet B. Dynamic partitioning in linear relation analysis. Application to the verification of reactive systems. Formal Methods in System Design, 40 p. (2001)

  19. Jeannet B. The Polka Convex Polyhedra library Edition 2.0, 2002. www.irisa.fr/prive/bjeannet/newpolka.html

  20. Johnson C.W. (1993) A probabilistic logic for the development of safety-critical, interactive systems. Int. J. Man-Mach. Stud. 39(2): 333–351

    Article  Google Scholar 

  21. Jonsson B., Larsen K.G., Yi W. Probabilistic Extensions of Process Algebras. In: Handbook of Process Algebras, pp. 685–710. Elsevier, North Holland (2001)

  22. Lamport L. (1977) Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE- 3(2): 125–143

    MathSciNet  Google Scholar 

  23. LeGuernic P., Benveniste A., Bournai P., Gautier T. (1986) Signal, a data flow oriented language for signal processing. IEEE-ASSP, 34(2): 362–374

    Google Scholar 

  24. Lynch N.A., Tuttle M.R. (1989) An introduction to Input/Output automata. CWI Q. 2(3): 219–246

    MathSciNet  Google Scholar 

  25. Müllerburg M., Holenderski L., Maffeis O. (1995) Systematic testing and formal verification to validate reactive programs. Softw. Qual. J. 4(4): 287–307

    Article  Google Scholar 

  26. Raymond P., Roux Y. Describing non-deterministic reactive systems by means of regular expressions. In: First Workshop on Synchronous Languages, Applications and Programming, SLAP’02, Grenoble, April (2002)

  27. Raymond P., Weber D., Nicollin X., Halbwachs N. Automatic testing of reactive systems. In: 19th IEEE Real-Time Systems Symposium, Madrid (1998)

  28. Somenzi F. CUDD: CU Decision Diagram Package Release 2.3.0 (1998)

  29. Thevenod-Fosse P., Mazuet C., Crouzet Y. On statistical testing of synchronous data flow programs. In: 1st European Dependable Computing Conference (EDCC-1), pp. 250–67, Germany (1994)

  30. Wu S.-H., Smolka S.A., Stark E.W. (1997) Composition and behaviors of probabilistic I/O automata. Theor. Comput. Sci. 176 (1–2): 1–38

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Erwan Jahier.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jahier, E., Raymond, P. & Baufreton, P. Case studies with Lurette V2. Int J Softw Tools Technol Transfer 8, 517–530 (2006). https://doi.org/10.1007/s10009-006-0023-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-006-0023-9

Keywords

Navigation