Abstract
This paper introduces an approach to apply data flow testing techniques to Abstract State Machines specifications. Since traditional data flow coverage criteria are strictly based on the mapping between a program and its flow graph, they cannot be directly applied to ASMs. In this context we are interested in tracing the flow of data between states in ASM runs as opposed to between nodes in a program’s flow graph. Therefore, we revise the classical concepts in data flow analysis and define them on two levels: the syntactic (rule) level, and the computational (run) level. We also specify a family of ad hoc data flow coverage criteria and introduce a model checking-based approach to generate automatically test cases satisfying a given set of coverage criteria from ASM models.
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
ASMETA: a tool set for the ASM, http://sourceforge.net/projects/asmeta
Black, P.E., Okun, V., Yesha, Y.: Mutation operators for specifications. Automated Software Engineering, 81 (2000)
Börger, E., Stärk, R.F.: Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)
Briand, L.C., Labiche, Y., Lin, Q.: Improving statechart testing criteria using data flow information. In: ISSRE, pp. 95–104 (2005)
Campbell, C., Veanes, M.: State Exploration with Multiple State Groupings. In: Abstract State Machines, pp. 119–130 (2005)
Castillo, G.D.: The ASM Workbench - A Tool Environment for Computer-Aided Analysis and Validation of Abstract State Machine Models Tool Demonstration. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 578–581. Springer, Heidelberg (2001)
Castillo, G.D., Winter, K.: Model Checking Support for the ASM High-Level Language. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 331–346. Springer, Heidelberg (2000)
Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8(2), 244–263 (1986)
Clarke, E.M., Grumberg, O., McMillan, K.L., Zhao, X.: Efficient Generation of Counterexamples and Witnesses in Symbolic Model Checking. In: DAC, pp. 427–432 (1995)
Clarke, L.A., Podgurski, A., Richardson, D.J., Zeil, S.J.: A formal evaluation of data flow path selection criteria. IEEE Trans. Software Eng. 15(11), 1318–1332 (1989)
Coverlipse, http://coverlipse.sourceforge.net/index.php
de Vries, R.G., Tretmans, J.: On-the-fly conformance testing using spin. STTT 2(4), 382–393 (2000)
Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: An Extensible ASM Execution Engine. Fundam. Inform. 77(1-2), 71–103 (2007)
Farahbod, R., Glsser, U., Ma, G.: Model Checking CoreASM Specifications
Frankl, P.G., Weyuker, E.J.: An applicable family of data flow testing criteria. IEEE Trans. Software Eng. 14(10), 1483–1498 (1988)
Frankl, P.G., Weyuker, E.J.: A formal analysis of the fault-detecting ability of testing methods. IEEE Trans. Software Eng. 19(3), 202–213 (1993)
Gargantini, A., Heitmeyer, C.L.: Using model checking to generate tests from requirements specifications. In: ESEC/SIGSOFT FSE, pp. 146–162 (1999)
Gargantini, A., Riccobene, E.: ASM-Based Testing: Coverage Criteria and Automatic Test Sequence. J. UCS 7(11), 1050–1067 (2001)
Gargantini, A., Riccobene, E., Rinzivillo, S.: Using Spin to Generate Tests from ASM Specifications. Abstract State Machines, 263–277 (2003)
Grieskamp, W., Gurevich, Y., Schulte, W., Veanes, M.: Generating finite state machines from abstract state machines. In: ISSTA, pp. 112–122 (2002)
Gurevich, Y.: Specification and validation methods (1995)
Harrold, M.J., Rothermel, G.: Performing data flow testing on classes. In: SIGSOFT 1994: Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering, pp. 154–163. ACM, New York (1994)
Harrold, M.J., Soffa, M.L.: Interprocedual data flow testing. In: TAV3: Proceedings of the ACM SIGSOFT 1989 third symposium on Software testing, analysis, and verification, pp. 158–167. ACM, New York (1989)
Holzmann, G.J.: The model checker SPIN. Software Engineering 23(5), 279–295 (1997)
Hong, H.S., Cha, S.D., Lee, I., Sokolsky, O., Ural, H.: Data Flow Testing as Model Checking. In: ICSE, pp. 232–243 (2003)
Hong, H.S., Kim, Y.G., Cha, S.D., Bae, D.-H., Ural, H.: A test sequence selection method for statecharts. Softw. Test, Verif. Reliab. 10(4), 203–227 (2000)
Jéron, T., Morel, P.: Test generation derived from model-checking. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 108–121. Springer, Heidelberg (1999)
Laski, J.W., Korel, B.: A data flow oriented program testing strategy. IEEE Trans. Software Eng. 9(3), 347–354 (1983)
McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Dordrecht (1993)
Nowack, A.: Slicing abstract state machines. In: Zimmermann, W., Thalheim, B. (eds.) ASM 2004. LNCS, vol. 3052, pp. 186–201. Springer, Heidelberg (2004)
Ntafos, S.C.: On required element testing. IEEE Trans. Software Eng. 10(6), 795–803 (1984)
Rapps, S., Weyuker, E.J.: Selecting software test data using data flow information. IEEE Trans. Software Eng. 11(4), 367–375 (1985)
Weyuker, E.J.: More experience with data flow testing. IEEE Trans. Software Eng. 19(9), 912–919 (1993)
Winter, K.: Model Checking for Abstract State Machines. J. UCS 3(5), 689–701 (1997)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cavarra, A. (2008). Data Flow Analysis and Testing of Abstract State Machines. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds) Abstract State Machines, B and Z. ABZ 2008. Lecture Notes in Computer Science, vol 5238. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87603-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-87603-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87602-1
Online ISBN: 978-3-540-87603-8
eBook Packages: Computer ScienceComputer Science (R0)