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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
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.
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.
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.
F. Boussinot, R. De Simone, “The ESTEREL language,” Froc. of the IEEE, vol. 79, no. 9, pp. 1293–1304, September 1991.
G. J. Myers, The art of software testing, Wiley, New York, 1979.
B. Beizer, Software testing techniques, Van Nostrand Reinhold, New York, 1990.
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.
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.
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.
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.
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.
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.
H. Ural, “Formal methods for test sequence generation,” Computer Communications, vol. 15, no. 5, pp. 311–325, June 1992.
Z. Kohavi, Switching and finite automata theory, McGraw-Hill Computer Science Series, New York, 1970.
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.
R. A. DeMillo, “Mutation analysis as a tool for software quality assurance,” Proc. COMPSAC' 80, Chicago, USA, pp. 390–393, October 1980.
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.
S. C. Ntafos, “On testing with required element,” Proc. COMPSAC'81, pp. 132–139, November 1981.
Author information
Authors and Affiliations
Editor information
Rights 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