Skip to main content

An Approach for Test Selection for EFSMs Using a Theorem Prover

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNCCN,volume 5826)

Abstract

This paper describes an automatic approach for selecting tests from a test suite to validate the changes made to an extended finite state machine (EFSM). EFSMs supporting variables over commonly used data types including booleans, numbers, arrays, queues, and records, and communicating with the environment using parameterized messages are considered. Changes to the EFSM add/delete/replace one or more transitions. Tests are described using a sequence of input and output messages with parameter values. We introduce a class of fully-observable tests. The description of a fully-observable test contains all the information to accurately determine the transitions executed by the test. Interaction among the EFSM transitions captured in terms of a compatibility relation is used along with a given test description to automatically identify fully-observable tests. A procedure is described for selecting a test for a given change based on accurately predicting if the test executes the change transition. We then describe how several tests can be simultaneously selected by grouping them based on overlap of their descriptions. The proposed approach has been implemented using a theorem prover and applied to several examples including protocols and web services with encouraging results.

References

  1. Brand, D., Zafiropulo, P.: On Communicating Finite State Machines. JACM 30(2) (1983)

    Google Scholar 

  2. Chen, Y., Probert, R., Ural, H.: Regression test suite reduction using extended dependence analysis. In: SOQUA 2007, September 3-4 (2007)

    Google Scholar 

  3. Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: A Theorem Prover for Program Checking. Journal of the ACM 52(3) (2005)

    Google Scholar 

  4. Kapur, D., Zhang, H.: An Overview of Rewrite Rule Laboratory (RRL). In: Dershowitz, N. (ed.) RTA 1989. LNCS, vol. 355, pp. 559–563. Springer, Heidelberg (1989)

    Google Scholar 

  5. Korel, B., Tahat, L., Vaysburg, B.: Model Based Regression Test Reduction Using Dependency Analysis. In: Proceedings of the International Conference on Software Maintenance (ICSM 2002), October 03-06, p. 214 (2002)

    Google Scholar 

  6. Korel, B., Koutsogiannakis, G., Tahat, L.H.: Application of system models in regression test suite prioritization. In: IEEE International Conference Software Maintenance, ICSM 2008, September 28-October 4, vol. (2008)

    Google Scholar 

  7. Lee, D., Yiannakakis, M.: Principles and Methods of Testing Finite State Machines – A Survey. Proceedings of the IEEE 84(8) (1996)

    Google Scholar 

  8. Leung, H.K.N., White, L.: A Cost Model to Compare Regression Test Strategies. IEEE Conf. on Software Maintenance, ICSM (1991)

    Google Scholar 

  9. Rothermel, G., Harrold, M.J.: Analyzing Regression Test Selection Techniques. IEEE Transactions on Software Engineering (1996)

    Google Scholar 

  10. Subramaniam, M., Guo, B.: A Rewrite-based Approach for Change Impact Analysis of Communicating Systems Using a Theorem Prover, CS Dept. University of Nebraska-Omaha (cst-2008-3) Technical Report (Work in progress paper in Testcom 2008) (2008)

    Google Scholar 

  11. Subramaniam, M., Pap, Z.: Updating Tests Across Protocol Changes. In: Proc. of IFIP Conference on Testing of Communicating Systems (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Subramaniam, M., Xiao, L., Guo, B., Pap, Z. (2009). An Approach for Test Selection for EFSMs Using a Theorem Prover. In: Núñez, M., Baker, P., Merayo, M.G. (eds) Testing of Software and Communication Systems. FATES TestCom 2009 2009. Lecture Notes in Computer Science, vol 5826. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05031-2_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-05031-2_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-05030-5

  • Online ISBN: 978-3-642-05031-2

  • eBook Packages: Computer ScienceComputer Science (R0)