Abstract
Testing remains the principal means of verification in commercial practice and in many certification regimes. Formal methods of verification will coexist with testing and should be developed in ways that improve, supplement, and exploit the value of testing. I describe automated test generation, which uses technology from formal methods to mechanize the construction of test cases, and discuss some of the research challenges in this area.
This work was partially supported by NASA Langley Research Center through contract NAS1-00079, and by NSF grant CNS-0644783.
Chapter PDF
Similar content being viewed by others
References
Hayhurst, K.J., Veerhusen, D.S., Chilenski, J.J., Rierson, L.K.: A practical tutorial on modified condition/decision coverage. NASA Technical Memorandum TM-2001-210876, NASA Langley Research Center, Hampton, VA (2001), http://www.faa.gov/certification/aircraft/av-info/software/Research/MCDC%20Tutorial.pdf
Gargantini, A., Heitmeyer, C.: Using model checking to generate tests from requirements specifications. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, pp. 146–162. Springer, Heidelberg (1999)
Hamon, G., de Moura, L., Rushby, J.: Generating efficient test sets with a model checker. In: 2nd International Conference on Software Engineering and Formal Methods (SEFM), pp. 261–270. IEEE Computer Society, Beijing (2004)
Saïdi, H., Graf, S.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)
Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Software verification with BLAST. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 235–239. Springer, Heidelberg (2003)
Ball, T., Kupferman, O., Yorsh, G.: Abstraction for falsification. In: [48], pp. 67–81
Xia, S., Di Vito, B., Muñoz, C.: Predicate abstraction of programs with non-linear computation. In: Graf, S., Zhang, W. (eds.) ATVA 2006. LNCS, vol. 4218, pp. 352–368. Springer, Heidelberg (2006)
Boppana, V., Rajan, S.P., Takayama, K., Fujita, M.: Model checking based on sequential ATPG. In: [49], pp. 418–430
Ho, P.H., Shiple, T., Harer, K., Kukula, J., Damiano, R., Bertacco, V., Taylor, J., Long, J.: Smart simulation using collaborative formal simulation engines. In: International Conference on Computer Aided Design (ICCAD), Jan Jose, CA, Association for Computing Machinery, pp. 120–126 (2000)
Godefroid, P., Klarlund, N., Sen, K.: DART: Directed automated random testing. In: Conference on Programming Language Design and Implementation: PLDI, Chicago, IL. Association for Computing Machinery, pp. 213–223 (2005)
Barrett, C., de Moura, L., Stump, A.: SMT-COMP: Satisfiability modulo theories competition. In: [48], pp. 20–23.
de Moura, L., Rueß, H., Sorea, M.: Lazy theorem proving for bounded model checking over infinite domains. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 438–455. Springer, Heidelberg (2002)
Bernot, G., Gaudel, M.C., Marre, B.: Software testing based on formal specifications: A theory and a tool. IEE/BCS Software Engineering Journal 6, 387–405 (1991)
Gaudel, M.C.: Testing from formal specifications, a generic approach. In: Strohmeier, A., Craeynest, D. (eds.) Ada-Europe 2001. LNCS, vol. 2043, pp. 35–48. Springer, Heidelberg (2001)
Boyapati, C., Khurshid, S., Marinov, D.: Korat: Automated testing based on Java predicates. In: International Symposium on Software Testing and Analysis (ISSTA), Rome, Italy. Association for Computing Machinery, pp. 123–122 (2002)
Jéron, T., Morel, P.: Test generation derived from model-checking. In: [49], pp. 108–121
Veanes, M., Campbell, C., Schulte, W., Tillmann, N.: Online testing with model programs. In: Proceedings of the 13th Annual Symposium on Foundations of Software Engineering (FSE), Lisbon, Portugal. Association for Computing Machinery, pp. 273–282 (2005)
Tiwari, A.: Abstractions for hybrid systems. In: Formal Methods in Systems Design (to appear, 2007), http://www.csl.sri.com/~tiwari/new.pdf
Ben-David, S., Gringauze, A., Sterin, B., Wolfsthal, Y.: PathFinder: A tool for design exploration. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 510–514. Springer, Heidelberg (2002)
Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: International Conference on Functional Programming, Montreal, Canada. Association for Computing Machinery, pp. 268–279 (2000)
Berghofer, S., Nipkow, T.: Random testing in Isabelle/HOL. In: 2nd International Conference on Software Engineering and Formal Methods, Beijing, China, pp. 230–239. IEEE Computer Society, Los Alamitos (2004)
Owre, S.: Random testing in PVS. In: Workshop on Automated Formal Methods (AFM), Seattle, WA (2006), http://fm.csl.sri.com/AFM06/papers/5-Owre.pdf
Sullivan, K., Yang, J., Coppit, D., Khurshid, S., Jackson, D.: Software assurance by bounded exhaustive testing. In: International Symposium on Software Testing and Analysis (ISSTA), Boston, MA. Association for Computing Machinery, pp. 133–142 (2004)
Beck, K.: Test Driven Development: By Example. Addison-Wesley, Reading (2002)
Henzinger, T.A., Jhala, R., Majumdar, R., Sanvido, M.A.: Extreme model checking. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 332–358. Springer, Heidelberg (2004)
Kosmatov, N., Legeard, B., Peureux, F., Utting, M.: Boundary coverage criteria for test generation from formal models. In: 15th International Symposium on Software Reliability Engineering (ISSRE 2004), Saint-Malo, France, pp. 139–150. IEEE Computer Society, Los Alamitos (2004)
Weyuker, E., Goradia, T., Singh, A.: Automatically generating test data from a Boolean specification. IEEE Transactions on Software Engineering 20, 353–363 (1994)
Kuhn, D.R.: Fault classes and error detection capability of specification-based testing. ACM Transactions on Software Engineering and Methodology 8, 411–424 (1999)
Tsuchiya, T., Kikuno, T.: On fault classes and error detection capability of specification-based testing. ACM Transactions on Software Engineering and Methodology 11, 58–62 (2002)
Okun, V., Black, P.E., Yesha, Y.: Comparison of fault classes in specification-based testing. Information and Software Technology 46, 525–533 (2004)
Utting, M., Legeard, B.: Practical Model-Based Testing. Morgan Kaufmann, San Francisco (2006)
Clarke, D., Jéron, T., Rusu, V., Zinovieva, E.: STG: a symbolic test generation tool. In: Katoen, J.-P., Stevens, P. (eds.) ETAPS 2002 and TACAS 2002. LNCS, vol. 2280, pp. 470–475. Springer, Heidelberg (2002)
Grieskamp, W., Gurevich, Y., Schulte, W., Veanes, M.: Generating finite state machines from abstract state machines. In: International Symposium on Software Testing and Analysis (ISSTA), Rome, Italy. Association for Computing Machinery, pp. 112–122 (2002)
du Bosquet, L., Ouabdesselam, F., Richier, J.L., Zuanon, N.: Lutess: A specification-driven testing environment for synchronous software. In: 21st International Conference on Software Engineering, pp. 267–276. IEEE Computer Society, Los Alamitos (1999)
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines. Proceedings of the IEEE 84, 1090–1123 (1996)
Whalen, M.W., Rajan, A., Heimdahl, M.P.E., Miller, S.P.: Coverage metrics for requirements-based testing. In: International Symposium on Software Testing and Analysis (ISSTA), Portland, ME. Association for Computing Machinery, pp. 25–36 (2006)
Heimdahl, M.P., George, D., Weber, R.: Specification test coverage adequacy criteria = specification test generation Inadequacy criteria? In: High-Assurance Systems Engineering Symposium, Tampa, FL, pp. 178–186. IEEE Computer Society, Los Alamitos (2004)
Tretmans, J., Belinfante, A.: Automatic testing with formal methods. In: EuroSTAR 1999: 7th European Int. Conference on Software Testing, Analysis & Review. EuroStar Conferences, Barcelona, Spain, Galway, Ireland (1999)
Bozga, M., Fernandez, J.C., Ghirvu, L.: Using static analysis to improve automatic test generatin. In: Schwartzbach, M.I., Graf, S. (eds.) ETAPS 2000 and TACAS 2000. LNCS, vol. 1785, pp. 235–250. Springer, Heidelberg (2000)
Rusu, V.: Verification using test generation techniques. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 252–271. Springer, Heidelberg (2002)
Gulavani, B.S., Henzinger, T.A., Kannan, Y., Nori, A.V., Rajamani, S.K.: Synergy: A new algorithm for property checking. In: Proceedings of the 14th Annual Symposium on Foundations of Software Engineering (FSE), Portland, OR. Association for Computing Machinery, pp. 117–127 (2006)
Duprat, S., Souyris, J., Favre-Felix, D.: Formal verification workbench for Airbus avionics software. In: ERTS 2006: Embedded Real Time Software, Societe des Ingenieurs de l’Automobile (2006)
Hamon, G., de Moura, L., Rushby, J.: Automated test generation with SAL. Technical note, Computer Science Laboratory, SRI International, Menlo Park, CA (2005), http://www.csl.sri.com/users/rushby/abstracts/sal-atg
de Moura, L., Owre, S., Rueß, H., Rushby, J., Shankar, N.: Integrating verification components. In: These proceedings (2007)
Bloomfield, R., Littlewood, B.: Multi-legged arguments: The impact of diversity upon confidence in dependability arguments. In: The International Conference on Dependable Systems and Networks, pp. 25–34. IEEE Computer Society, San Francisco (2003)
Littlewood, B., Wright, D.: The use of multi-legged arguments to increase confidence in safety claims for software-based systems: a study based on a BBN analysis of an idealised example. IEEE Transactions on Software Engineering 33, 347–365 (2007)
Rushby, J.: What use is verified software? In: 12th IEEE International Conference on the Engineering of Complex Computer Systems (ICECCS), Auckland, New Zealand, IEEE Computer Society, Los Alamitos (2007), http://www.csl.sri.com/~rushby/abstracts/iceccs07-vsi
Etessami, K., Rajamani, S.K. (eds.): CAV 2005. LNCS, vol. 3576. Springer, Heidelberg (2005)
Halbwachs, N., Peled, D.A. (eds.): CAV 1999. LNCS, vol. 1633. Springer, Heidelberg (1999)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Rushby, J. (2008). Automated Test Generation and Verified Software. In: Meyer, B., Woodcock, J. (eds) Verified Software: Theories, Tools, Experiments. VSTTE 2005. Lecture Notes in Computer Science, vol 4171. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69149-5_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-69149-5_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69147-1
Online ISBN: 978-3-540-69149-5
eBook Packages: Computer ScienceComputer Science (R0)