Skip to main content

On statistical structural testing of synchronous data flow programs

  • Session 6: Software testing
  • Conference paper
  • First Online:
Dependable Computing — EDCC-1 (EDCC 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 852))

Included in the following conference series:

Abstract

The paper addresses the issue of testing programs written in the synchronous data flow language LUSTRE. We define a mixed strategy which combines statistical testing and deterministic extremal values testing. Statistical testing involves exercising a program with random inputs, the input distribution and the number of test data being determined according to test criteria. Three criteria based on the finite state automaton produced by the LUSTRE compiler are studied, the feasibility of the method for designing test sets according to them being exemplified on a real-case study. Then, mutation analysis (here, specific to LUSTRE) is used to assess the efficiency of the test sets. The results allow us (i) to define the most cost-effective criterion for designing efficient statistical test sets of reasonable size, and (ii) to show the high fault revealing power of the corresponding mixed strategy, killing the whole set of 310 mutants involved in the experiments.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Benveniste, G. Berry, “The synchronous approach to reactive and real-time systems,” Proc. of the IEEE, vol. 79, no. 9, pp. 1270–1282, September 1991.

    Article  Google Scholar 

  2. S. Rapps, E. J. Weyuker, “Selecting software test data using data flow information,” IEEE Trans. on Software Engineering, vol. SE-11, no. 4, pp. 367–375, April 1985.

    Google Scholar 

  3. S. C. Ntafos, “A comparison of some structural testing strategies,” IEEE Trans. on Software Engineering, vol. SE-14, no. 6, pp. 868–874, June 1988.

    Article  Google Scholar 

  4. P. Caspi, D. Pilaud, N. Halbwachs, J. A. Plaice, “LUSTRE: a declarative language for programming synchronous systems,” Proc. 14th ACM Symp. on Principles of Programming Languages, Munich, Germany, January 1987.

    Google Scholar 

  5. N. Halbwachs, P. Caspi, P. Raymond, D. Pilaud, “The synchronous data flow programming language LUSTRE,” Proc. of the IEEE, vol. 79, no. 9, pp. 1305–1320, September 1991.

    Article  Google Scholar 

  6. P. Thévenod-Fosse, “Software validation by means of statistical testing: retrospect and future direction,” Preprints 1st IEEE Working Conf. on Dependable Computing for Critical Applications (DCCA-1), Santa Barbara, USA, pp. 15–22, August 1989. Published in Dependable Computing and Fault-Tolerant Systems, vol.4, Springer-Verlag, pp. 23–50, 1991.

    Google Scholar 

  7. J. W. Duran, S. C. Ntafos, “An evaluation of random testing,” IEEE Trans. on Software Engineering, vol. SE-10, no. 4, pp. 438–444, July 1984.

    Google Scholar 

  8. N. Halbwachs, F. Lagnier, C. Ratel, “Programming and verifying real-time systems by means of the synchronous data-flow language LUSTRE,” IEEE Trans. on Software Engineering, vol. 18, no. 9, pp. 785–793, September 1992.

    Article  Google Scholar 

  9. F. Boussinot, R. De Simone, “The ESTEREL language,” Froc. of the IEEE, vol. 79, no. 9, pp. 1293–1304, September 1991.

    Article  Google Scholar 

  10. G. J. Myers, The art of software testing, Wiley, New York, 1979.

    Google Scholar 

  11. B. Beizer, Software testing techniques, Van Nostrand Reinhold, New York, 1990.

    Google Scholar 

  12. R. Hamlet, “Theoretical comparison of testing methods,” Proc. 3rd IEEE Symp. on Software Testing, Analysis and Verification (TAV-3), Key West, USA, pp. 28–37, December 1989.

    Google Scholar 

  13. P. Thévenod-Fosse, H. Waeselynck, Y. Crouzet, “An experimental study on software structural testing: deterministic versus random input generation,” Proc. 21st IEEE Symp. on Fault-Tolerant Computing (FTCS-21), Montréal, Canada, pp. 410–417, June 1991.

    Google Scholar 

  14. P. Thévenod-Fosse, H. Waeselynck, “On functional statistical testing designed from software behavior models,” Preprints 3rd IEEE Working Conference on Dependable Computing for Critical Applications (DCCA-3), Palerme, Italy, pp. 3–12, September 1992. Published in Dependable Computing and Fault-Tolerant Systems, vol. 8, Springer-Verlag, pp. 3–28, 1993.

    Google Scholar 

  15. P. Thévenod-Fosse, H. Waeselynck, “STATEMATE applied to statistical software testing,” Proc. 1st ACM Symposium on Software Testing and Analysis (ISSTA'93), Cambridge, USA, pp. 99–109, June 1993.

    Google Scholar 

  16. T. S. Chow, “Testing software design modeled by finite state machines,” IEEE Trans. on Software Engineering, vol. 4, no. 3, pp. 178–187, March 1978.

    Google Scholar 

  17. S. Fujiwara et al., “Test selection based on finite state models,” IEEE Trans. on Software Engineering, vol. 17, no. 6, pp. 591–603, June 1991.

    Article  Google Scholar 

  18. H. Ural, “Formal methods for test sequence generation,” Computer Communications, vol. 15, no. 5, pp. 311–325, June 1992.

    Article  Google Scholar 

  19. Z. Kohavi, Switching and finite automata theory, McGraw-Hill Computer Science Series, New York, 1970.

    Google Scholar 

  20. R. A. DeMillo, R. J. Lipton, F. G. Sayward, “Hints on test data selection: help for the practicing programmer,” IEEE Computer Magazine, vol. 11, no. 4, pp. 34–41, April 1978.

    Google Scholar 

  21. R. A. DeMillo, “Mutation analysis as a tool for software quality assurance,” Proc. COMPSAC' 80, Chicago, USA, pp. 390–393, October 1980.

    Google Scholar 

  22. H. Waeselynck, “Vérification de logiciels critiques par le test statistique,” Doctoral Thesis, Institut National Polytechnique de Toulouse, LAAS Report no. 93.006, January 1993.

    Google Scholar 

  23. S. C. Ntafos, “On testing with required element,” Proc. COMPSAC'81, pp. 132–139, November 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Klaus Echtle Dieter Hammer David Powell

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Thévenod-Fosse, P., Mazuet, C., Crouzet, Y. (1994). On statistical structural testing of synchronous data flow programs. In: Echtle, K., Hammer, D., Powell, D. (eds) Dependable Computing — EDCC-1. EDCC 1994. Lecture Notes in Computer Science, vol 852. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58426-9_135

Download citation

  • DOI: https://doi.org/10.1007/3-540-58426-9_135

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58426-1

  • Online ISBN: 978-3-540-48785-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics