Automatic Generation of Test Cases in Regression Testing for Lustre/SCADE Programs

Abstract

Lustre is a formal synchronous declarative language widely used for modeling and specifying safety critical applications in the fields of avionics, transportation, and energy production. In such applications, the testing activity to ensure correctness of the system plays a crucial role. During the development process, Lustre programs (or SCADE) are often upgraded, so regression test should be performed to detect bugs. However, regression test is generally costly, because the number of test cases is usually very large. In this paper, we present the solution to automatically generating test cases in regression testing of Lustre/SCADE programs. We apply this solution to regression testing for case study Uturn System.

Share and Cite:

Duy, T. , Binh, N. and Parissis, I. (2013) Automatic Generation of Test Cases in Regression Testing for Lustre/SCADE Programs. Journal of Software Engineering and Applications, 6, 27-35. doi: 10.4236/jsea.2013.610A004.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] N. Halbwachs, P. Caspi, P. Raymond and D. Pilaud, “The Synchronous Data Flow Programming Language Lustre,” Proceedings of the IEEE, Vol. 79, No. 9, 1991, pp. 1305-1320. http://dx.doi.org/ 10.1109/5.97300
[2] Esterel Technologies Web Site, Editor of the SCADE Suite, Based on the Lustre Language, 2013. http://www.esterel-technologies.com/products/scade-system
[3] G. Myers, “The Art of Software Testing,” Wiley, Hoboken, 2004.
[4] R. Savenkov, “How to Become a Software Tester. Roman Savenkov Consulting,” 2008, p. 386.
[5] B. Seljimi and I. Parissis, “Automatic Generation of Test Data Generators for Synchronous Programs: Lutess v2,” DOSTA ’07: Workshop on Domain Specific Approaches to Software Test Automation, ACM, New York, 2007, pp. 8-12.
[6] Esterel Technologies Web Site, 2013. http://www.esterel-technologies.com/products/scade-system/scade-system-design
[7] A. Benveniste and G. Berry, “The Synchronous Approach to Reactive and Realtime Systems,” Proceedings of the IEEE, Vol. 79, No. 9, 1991, pp. 1270-1282.
[8] E. Clarke, O. Grumberg and D. Peled, “Model Checking,” The MIT Press, Cambridge, Massachusetts, 2001.
[9] J.-J. Wang, B. Zhang and Y. Chen, “Test Case Set Generation Method on MC/DC Based on Binary Tree,” 5th International Conference on Machine Vision (ICMV 2012): Computer Vision, Image Analysis and Processing, 13 March 2013.
[10] G. Fraser, F. Wotawa and P. E. Ammann, “Testing with Model Checkers: A Survey,” Journal Software Testing, Verification & Reliability, Vol. 19, No. 3, 2009, pp. 215-261.
[11] N. Halbwachs, “Lustre Program Verification: The Tool Lesar, Synchronous Programming of Reactive Systems,” The Springer International Series in Engineering and Computer Science, 1993, pp. 139-147.
[12] N. Halbwachs, D. Pilaud, F. Ouabdesselam and A.-C. Glory, “Specifying, Programming and Verifying RealTime Systems, Using a Synchronous Declarative Language,” Workshop on Automatic Verification Methods for Finite State Systems, LNCS 407, Grenoble, 12-14 June 1989.
[13] F. Ouabdesselam and I. Parissis, “Testing Techniques for Data-Flow Synchronous Programs,” Proceedings of the Second International Workshop on Automated and Algorithmic Debugging, Saint-Malo, 22-24 May 1995.
[14] N. Halbwachs, F. Lagnier and C. Ratel, “Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language Lustre,” IEEE Transactions on Software Engineering, Vol. 18, No. 9, 1992, pp. 785-793. http://dx.doi.org/10.1109/32.159839

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.