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.
Similar content being viewed by others
References
Benveniste A., Berry G. (1991) The synchronous approach to reactive and real-time systems. Proc. IEEE 79(9): 1270–1282
Benveniste A. Constructive probability and the SIGNalea language: building and processes via programming. Technical Report RR-1532, INRIA (1991)
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)
Berry G., Gonthier G. (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2): 87–152
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)
Bousquet L., Ouabdesselam F., Richier J., Zuanon N. Lutess: testing environment for synchronous software (1998)
Derman C. Finite State Markovian Decision Processes. Academic New York (1970)
Dion B. Correct-by-construction methods for the development of safety-critical applications (2003)
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
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)
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)
Halbwachs N., Caspi P., Raymond P., Pilaud D. (1991) The synchronous dataflow programming language lustre. Proc. IEEE 79(9): 1305–1320
Halbwachs N., Caspi P., Raymond P., Pilaud D. (1991) The synchronous dataflow programming language lustre. Proc. IEEE 79(9): 1305–1320
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)
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)
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)
Jahier E. The Lurette V2 User guide. Technical Report TR-2004-5, Verimag, 2004. www-verimag.imag.fr/~synchron/tools.html
Jeannet B. Dynamic partitioning in linear relation analysis. Application to the verification of reactive systems. Formal Methods in System Design, 40 p. (2001)
Jeannet B. The Polka Convex Polyhedra library Edition 2.0, 2002. www.irisa.fr/prive/bjeannet/newpolka.html
Johnson C.W. (1993) A probabilistic logic for the development of safety-critical, interactive systems. Int. J. Man-Mach. Stud. 39(2): 333–351
Jonsson B., Larsen K.G., Yi W. Probabilistic Extensions of Process Algebras. In: Handbook of Process Algebras, pp. 685–710. Elsevier, North Holland (2001)
Lamport L. (1977) Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE- 3(2): 125–143
LeGuernic P., Benveniste A., Bournai P., Gautier T. (1986) Signal, a data flow oriented language for signal processing. IEEE-ASSP, 34(2): 362–374
Lynch N.A., Tuttle M.R. (1989) An introduction to Input/Output automata. CWI Q. 2(3): 219–246
Müllerburg M., Holenderski L., Maffeis O. (1995) Systematic testing and formal verification to validate reactive programs. Softw. Qual. J. 4(4): 287–307
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)
Raymond P., Weber D., Nicollin X., Halbwachs N. Automatic testing of reactive systems. In: 19th IEEE Real-Time Systems Symposium, Madrid (1998)
Somenzi F. CUDD: CU Decision Diagram Package Release 2.3.0 (1998)
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)
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-006-0023-9