Abstract
This chapter relates a series of works that contributed to the recognition of the use of formal specifications when testing software.
After presenting a first set of results on test methods based on algebraic data types, generalisations to other formal approaches are described.
The outcome of several case studies is reported, and as conclusion, the place of formal testing within the software validation and verification activities is discussed. A concrete example is developed in appendix.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aiguier, M., Arnould, A., Boin, C., Gall, P.L., Marre, B.: Testing from algebraic specifications: Test data set selection by unfolding axioms. In: Formal Approaches to Software Testing, 5th International Workshop, FATES. Lecture Notes in Computer Science, vol. 3997, pp. 203–217. Springer (2005)
Arnold, A., Gaudel, M., Marre, B.: An experiment on the validation of a specification by heterogeneous formal means: The transit node. In: 5th IFIP Working Conference on Dependable Computing for Critical Applications (DCCA5). pp. 24–34 (1995)
Barbey, S., Buchs, D.: Testing Ada abstract data types using formal specifications. In: 1st Int. Eurospace-Ada-Europe Symposium. pp. 76–89. No. 887 in Lecture Notes in Computer Science, Springer Verlag (1994)
Barbey, S., Buchs, D., Péraire, C.: A theory of specification-based testing for object-oriented software. In: EDCC-2, Second European Dependable Computing Conference,Proceedings. Lecture Notes in Computer Science, vol. 1150, pp. 303–320. Springer (1996)
Barr, E.T., Harman, M., McMinn, P., Shahbaz, M., Yoo, S.: The oracle problem in software testing: A survey. IEEE Trans. Software Eng. 41(5), 507–525 (2015)
Bernot, G., Gaudel, M.C., Marre, B.: Software testing based on formal specifications: a theory and a tool. Software Engineering Journal 6(6), 387–405 (1991)
Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer Programming 25(2–3), 149–186 (1995)
Bougé, L., Choquet, N., Fribourg, L., Gaudel, M.C.: Test set generation from algebraic specifications using logic programming. Journal of Systems and Software 6(4), 343–360 (1986)
Bougé, L.: Modeling the notion of program testing; application to test set generation. Thesis, Université Pierre et Marie Curie - Paris VI (Oct 1982), https://tel.archives-ouvertes.fr/tel-00416558, directeur: Prof. Marie-Claude Gaudel
Bougé, L., Choquet, N., Fribourg, L., Gaudel, M.C.: Application of Prolog to test sets generation from algebraic specifications. In: International Joint Conference on Theory and Practice of Software Development (TAPSOFT). LNCS, vol. 186, pp. 261–275. Springer (1985)
Brinksma, E.: A theory for the derivation of tests. In: Proc. 8th Int. Conf. Protocol Specification,Testing and Verification. pp. 63–74. North-Holland (1988)
Brucker, A.D., Brügger, L., Wolff, B.: Verifying test-hypotheses – an experiment in test and proof. In: Model-based Testing MBT 2008. Electronic Notes in Theoretical Computer Science, vol. 202, pp. 15–28. Elsevier Science Publishers (2008)
Brucker, A.D., Wolff, B.: Symbolic test case generation for primitive recursive functions. In: Formal Approaches to Testing of Software (FATES 04). Lecture Notes in Computer Science, vol. 3395, pp. 16–32. Springer Verlag (2005)
Brucker, A.D., Wolff, B.: On theorem prover-based testing. Formal Asp. Comput. 25(5), 683–721 (2013)
Cavalcanti, A., Gaudel, M.C.: Testing for refinement in CSP. In: Formal Methods and Software Engineering, ICFEM 2007. Lecture Notes in Computer Science, vol. 4789, pp. 151–170. Springer Verlag (2007)
Cavalcanti, A., Gaudel, M.C.: Testing for refinement in Circus. Acta Informatica 48(2), 97–147 (2011)
Chen, H.Y., Tse, T.H., Chan, F.T., Chen, T.Y.: In black and white: an integrated approach to class-level testing of object-oriented programs. ACM transactions on Software Engineering and Methodology 7(3), 250–295 (1998)
Chen, H.Y., Tse, T.H.: Equality to equals and unequals: A revisit of the equivalence and nonequivalence criteria in class-level testing of object-oriented software. IEEE Trans. Software Eng. 39(11), 1549–1563 (2013)
Chen, H.Y., Tse, T.H., Chen, T.Y.: TACCLE: a methodology for object-oriented software testing at the class and cluster levels. ACM Trans. Softw. Eng. Methodol. 10(1), 56–109 (2001)
Chow, T.: Testing software design modeled by finite-state machines. IEEE Transactions on Software Engineering SE-4(3), 178–187 (1978)
Dauchy, P., Gaudel, M.C., Marre, B.: Using algebraic specifications in software testing : a case study on the software of an automatic subway. Journal of Systems and Software 21(3), 229–244 (1993)
Dauchy, P., Ozello, P.: Experiments with formal specifications on MAGGALY. In: Second International Conference on Applications of Advanced Technologies in Transportation Engineering. Mineapolis (1991)
Dick, J., Faivre, A.: Automating the generation and sequencing of test cases from model-based specifications. In: FME ’93: Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe. LNCS, vol. 670, pp. 268–284. Springer (1993)
Dong, R.K., Frankl, P.G.: The ASTOOT approach to testing object-oriented programs. ACM Transactions on Software Engineering and Methodology 3(2), 103–130 (1994)
Feliachi, A.: Semantics-Based Testing for Circus. Ph.D. thesis, Université Paris Sud (December 2012), directeurs: Prof. Marie-Claude Gaudel and Prof. Burkhart Wolff
Feliachi, A., Gaudel, M.C., Wenzel, M., Wolff, B.: The Circus testing theory revisited in Isabelle/HOL. In: Formal Methods and Software Engineering - 15th International Conference on Formal Engineering Methods, ICFEM 2013. pp. 131–147 (2013)
Fujiwara, S., von Bochmann, G.: Testing non-deterministic state machines with fault coverage. In: Protocol Test Systems, IV, Proceedings of the IFIP TC6/WG6.1 Fourth International Workshop on Protocol Test Systems. IFIP Transactions, vol. C-3, pp. 267–280. North-Holland (1991)
Gannon, J.D., McMullin, P.R., Hamlet, R.G.: Data-abstraction implementation, specification, and testing. ACM Trans. Program. Lang. Syst. 3(3), 211–223 (1981)
Gaudel, M.C.: Testing can be formal, too. In: TAPSOFT9́5, International Joint Conference, Theory And Practice of Software Development. Lecture Notes in Computer Science, vol. 915, pp. 82–96. Springer Verlag (1995)
Gaudel, M.C., James, P.R.: Testing algebraic data types and processes: A unifying theory. Formal Asp. Comput. 10(5–6), 436–451 (1998)
Gaudel, M.C., Le Gall, P.: Testing data types implementations from algebraic specifications. In: Formal Methods and Testing, An Outcome of the FORTEST Network, Revised Selected Papers, R. Hierons, J. Bowen, and M. Harman,eds, LNCS, vol. 4949, pp. 209–239. Springer-Verlag (2007)
Goodenough, J.B., Gerhart, S.: Toward a theory of test data selection. IEEE Transactions on Software Engineering SE-1(2), 156–173 (1975)
Helke, S., Neustupny, T., Santen, T.: Automating test case generation from Z specifications with Isabelle. In: ZUM. pp. 52–71 (1997)
Hennicker, R., Wirsing, M., Bidoit, M.: Proof systems for structured specifications with observability operators. Theor. Comput. Sci. 173(2), 393–443 (1997)
Hierons, R.M.: Comparing test sets and criteria in the presence of test hypotheses and fault domains. ACM Trans. Softw. Eng. Methodol. 11(4), 427–448 (2002)
Hierons, R.M., Bogdanov, K., Bowen, J.P., Cleaveland, R., Derrick, J., Dick, J., Gheorghe, M., Harman, M., Kapoor, K., Krause, P.J., Lüttgen, G., Simons, A.J.H., Vilkomir, S.A., Woodward, M.R., Zedan, H.: Using formal specifications to support testing. ACM Comput. Surv. 41(2), 9:1–9:76 (2009)
Hoare, C.A.R., He, J.: Unifying theories of programming. Prentice-Hall (1998)
Jalote, P.: Specification and testing of abstract data types. In: IEEE International Computer Software and Applications Conference COMPSAC. pp. 508–511 (1983)
James, P.R., Endler, M., Gaudel, M.C.: Development of an atomic broadcast protocol using LOTOS. Software Practice and Experience 29(8), 699–719 (1999)
Jard, C., Jéron, T.: TGV: theory, principles and algorithms. Int. J. on Software Tools for Technology Transfer 7(4), 297–315 (2005)
Le Gall, P., Arnould, A.: Formal specification and test: correctness and oracle. In: 11th WADT joint with the 9th general COMPASS workshop. Lecture Notes in Computer Science, vol. 1130, pp. 342–358. Springer (1996)
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines-a survey. Proceedings of the IEEE 84(8), 1090–1123 (1996)
Legeard, B., Peureux, F.: Generation of functional test sequences from B formal specifications-presentation and industrial case study. In: 16th IEEE International Conference on Automated Software Engineering (ASE 2001). pp. 377–381. IEEE Computer Society (2001)
Lestiennes, G., Gaudel, M.: Testing processes from formal specifications with inputs, outputs and data types. In: 13th International Symposium on Software Reliability Engineering (ISSRE ). pp. 3–14. IEEE Computer Society (2002)
Lestiennes, G., Gaudel, M.C.: Test de systèmes réactifs non réceptifs. Journal européen des systèmes automatisés 39(1 - 3), 255–270 (2005)
Machado, P.: On oracles for interpreting test results against algebraic specifications. In: Algebraic Methodology and Software Technology, AMAST’98. Lecture Notes in Computer Science, vol. 1548, pp. 502–518 (1998)
Machado, P.: Testing from structured algebraic specifications. In: AMAST2000. Lecture Notes in Computer Science, vol. 1816, pp. 529–544 (2000)
Marre, B.: LOFT: a tool for assisting selection of test data sets from algebraic specifications. In: TAPSOFT. Lecture Notes in Computer Science, vol. 915, pp. 799–800. Springer Verlag (1995)
Marre, B., Arnould, A.: Test sequences generation from Lustre descriptions: GATeL. In: ASE-00: The 15th IEEE Conference on Automated Software Engineering. pp. 229–237. IEEE CS Press (2000)
Marre, B., Thévenod-Fosse, P., Waeselink, H., Gall, P.L., Crouzet, Y.: An experimental evaluation of formal testing and statistical testing. In: SAFECOMP’92. pp. 311–316 (1992)
Marre, B.: Toward automatic test data set selection using algebraic specifications and logic programming. In: Logic Programming, Proceedings of the 8th International Conference. pp. 202–219. MIT Press (1991)
Marre, B., Blanc, B.: Test selection strategies for Lustre descriptions in GATeL. Electr. Notes Theor. Comput. Sci. 111, 93–111 (2005)
Péraire, C., Barbey, S., Buchs, D.: Test selection for object-oriented software based on formal specifications. In: IFIP Working Conference on Programming Concepts and Methods (PROCOMET’98). pp. 385–403. Chapman Hall (1998)
Sarikaya, B., von Bochmann, G.: Some experience with test sequence generation for protocols. In: Protocol Specification, Testing and Verification, Proceedings of the IFIP WG6.1 Second International Workshop on Protocol Specification, Testing and Verification. pp. 555–567. North-Holland (1982)
Stocks, P., Carrington, D.A.: Test templates: A specification-based testing framework. In: Proceedings of the 15th International Conference on Software Engineering,ICSE. pp. 405–414. IEEE Computer Society / ACM Press (1993)
Tretmans, J.: Test generation with inputs, outputs and repetitive quiescence. Software - Concepts and Tools 17(3), 103–120 (1996)
Veanes, M., Campbell, C., Grieskamp, W., Schulte, W., Tillmann, N., Nachmanson, L.: Model-based testing of object-oriented reactive systems with Spec Explorer. In: Formal Methods and Testing, An Outcome of the FORTEST Network, revised selected papers, R. Hierons, J. Bowen, and M. Harman, eds. Lecture Notes in Computer Science, vol. 4949, pp. 39–76. Springer (2008)
Weyuker, E.J.: On testing non-testable programs. Comput. J. 25(4), 465–470 (1982)
Weyuker, E.J., Ostrand, T.J.: Theories of program testing and the the application of revealing subdomains. IEEE Trans. Software Eng. 6(3), 236–246 (1980)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Gaudel, MC. (2024). “Testing Can Be Formal Too”: 30 Years Later. In: Meyer, B. (eds) The French School of Programming. Springer, Cham. https://doi.org/10.1007/978-3-031-34518-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-34518-0_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-34517-3
Online ISBN: 978-3-031-34518-0
eBook Packages: Computer ScienceComputer Science (R0)