Abstract
We propose an automated approach for generating tests from formal tabular requirements specifications, such as SCR specifications. The technique is based on counterexample guided abstraction refinement and the use of SMT solving. Moreover, in order to effectively perform automated test generation, we take advantage of particular characteristics of tabular requirements descriptions to aid the abstraction and abstraction refinement processes. The exploited characteristics are, most notably, the organisation of the requirements specification in modes, which is used to build an initial abstraction, and the execution model of tabular specifications, which is directed by changes observed in environment variables and is exploited for modularising the transition relation associated with tables, simplifying the calculation of abstractions. These characteristics enable us to effectively perform automated test generation achieving good levels of coverage for different criteria relevant to this context.
We compare our approach with a standard abstraction analysis, showing the benefits that exploiting the mentioned characteristics of tables provide. We also compare the approach with model checking based generation, using several model checking tools. Our experiments show that the presented approach is able to generate test cases from models whose complexity, with respect to the sizes of variables and data domains, cannot be coped with well by the model checkers we used.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aguirre, N.M., Frias, M.F., Moscato, M.M., Maibaum, T.S.E., Wassyng, A.: Describing and Analyzing Behaviours over Tabular Specifications Using (Dyn)Alloy. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 155–170. Springer, Heidelberg (2009)
Atlee, J., Gannon, J.: State-Based Model Checking of Event-Driven System Requirements. IEEE Trans. Software Eng. 19(1) (1993)
Beyer, D., Chlipala, A., Henzinger, T., Jhala, R., Majumdar, R.: Generating Tests from Counterexamples. In: Proc. of ICSE 2004. IEEE, Los Alamitos (2004)
Bharadwaj, R., Heitmeyer, C.: Model Checking Complete Requirements Specifications Using Abstraction. Automated Software Engineering 6(1) (1999)
Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: The mathSAT 4 SMT solver. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 299–303. Springer, Heidelberg (2008)
Bultan, T., Heitmeyer, C.: Applying Infinite State Model Checking and Other Analysis Techniques to Tabular Requirements Specifications of Safety-Critical Systems. Design Automation for Embedded Systems 12(1-2) (2008)
Chaki, S., Clarke, E., Groce, A., Jha, S., Veith, H.: Modular Verification of Software Components in C. Trans. on Software Engineering 30(6) (2004)
Clarke, E., Gupta, A., Jain, H., Veith, H.: Model Checking: Back and Forth between Hardware and Software. In: Meyer, B., Woodcock, J. (eds.) VSTTE 2005. LNCS, vol. 4171, pp. 251–255. Springer, Heidelberg (2008)
Feng, X., Parnas, D., Tse, T., O’Callahan, T.: A Comparison of Tabular Expression-Based Testing Strategies. IEEE Transactions on Software Engineering (to appear), http://www.cs.hku.hk/research/techreps/document/TR-2009-19.pdf
Fraser, G., Gargantini, A.: An Evaluation of Model Checkers for Specification Based Test Case Generation. In: Proc. of ICST 2009. LNCS. Springer, Heidelberg (2009)
Gargantini, A., Heitmeyer, C.: Using Model Checking to Generate Tests from Requirements Specifications. In: Proc. of ESEC/FSE 1999. LNCS. Springer, Heidelberg (1999)
Heitmeyer, C., Jeffords, R., Labaw, B.: Automated consistency checking of requirements specifications. Trans. on Soft. Eng. and Methodology 5(3) (1996)
Heitmeyer, C., Archer, M., Bharadwaj, R., Jeffords, R.: Tools for constructing requirements specifications: the SCR Toolset at the age of nine. Computer Systems: Science & Engineering 20(1) (2005)
Heninger, K., Kallander, J., Parnas, D., Shore, J.: Software Requirements for the A-7E Aircraft, NLR Memorandum Report 3876, US Naval Research Lab (1978)
Henzinger, T., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: Proc. of POPL 2002. ACM, New York (2002)
Henzinger, T., Jhala, R., Majumdar, R., McMillan, K.: Abstractions from proofs. In: Proc. of POPL 2004. LNCS. Springer, Heidelberg (2004)
Leveson, N., Heimdahl, M., Hildreth, H., Reese, J.: Requirements Specifications for Process-Control Systems. Trans. on Software Engineering 20(9) (1994)
McMillan, K.L.: Interpolation and SAT-Based Model Checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003)
Parnas, D., Madey, J.: Functional Documentation for Computer Systems. Science of Computer Programming 25(1) (1995)
Tillmann, N., de Halleux, J.: Pex–White Box Test Generation for .NET. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 134–153. Springer, Heidelberg (2008)
Visser, W., Pǎsǎreanu, C., Khurshid, S.: Test input generation with Java PathFinder. In: Proc. of ISSTA 2004. ACM, NY (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Degiovanni, R., Ponzio, P., Aguirre, N., Frias, M. (2011). Abstraction Based Automated Test Generation from Formal Tabular Requirements Specifications. In: Gogolla, M., Wolff, B. (eds) Tests and Proofs. TAP 2011. Lecture Notes in Computer Science, vol 6706. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21768-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-21768-5_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21767-8
Online ISBN: 978-3-642-21768-5
eBook Packages: Computer ScienceComputer Science (R0)