Abstract
This paper presents a new approach to structural testing, called dependence testing. First we propose dependence oriented coverage criteria that extend conventional data flow oriented coverage criteria with control dependence. This allows one to capture the full dependence information of a program or specification systematically. We then describe a model checking-based approach to test generation for dependence testing. It is shown that dependence oriented coverage criteria can be characterized in the temporal logics LTL and CTL. This enables one to use any LTL and CTL model checkers as test generators. Finally, we show that the temporal logic-based characterization can also be used for reducing the cost of dependence testing.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Agrawal, H.: Dominators, Super Blocks, and Program Coverage. In: Proceedings of the 21st ACM Symposium on Principles of Programming Languages, pp. 25–34 (1994)
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers, Principles, Techniques, and Tools. Addision-Wesley, London (1986)
Ammann, P., Black, P., Majurski, W.: Using Model Checking to Generate Tests from Specifications. In: Proceedings of the 2nd IEEE International Conference on Formal Engineering Methods, pp. 46–54 (1998)
Bertolino, A.: Unconstrained Edges and Their Application to Branch Analysis and Testing of Programs. The Journal of Systems and Software 20(2), 125–133 (1993)
Bertolino, A., Marré, M.: Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs. IEEE Transactions on Software Engineering 20(12), 885–899 (1994)
Bertolino, A., Marré, M.: How Many Paths are Needed for Branch Testing? The Journal of Systems and Software 35(2), 95–106 (1996)
Beyer, D., Chlipala, A.J., Henzinger, T.A., Jhala, R., Majumdar, R.: Generating Tests from Counterexamples. In: Proceedings of the 26th International Conference on Software Engineering, pp. 326–335 (2004)
Chusho, T.: Test Data Selection and Quality Estimation Based on the Concept of Essential Branches for Path Testing. IEEE Transactions on Software Engineering 13(5), 509–517 (1987)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)
Clarke, L.A., Podgurski, A., Richardson, D.J., Zeil, S.J.: A Formal Evaluation of Data Flow Path Selection Criteria. IEEE Transactions on Software Engineering 15(11), 1318–1332 (1989)
Dssouli, R., Saleh, K., Aboulhamid, E., En-Nouaary, A., Bourhfir, C.: Test Development for Communication Protocols: towards Automation. Computer Networks 31(7), 1835–1872 (1999)
Engels, A., Feijs, L., Mauw, S.: Test Generation for Intelligent Networks Using Model Checking. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 384–398. Springer, Heidelberg (1997)
Frankl, P.G., Weyuker, E.J.: A Formal Analysis of the Fault-Detecting Ability of Testing Methods. IEEE Transactions on Software Engineering 19(3), 202–213 (1993)
Gargantini, A., Heitmeyer, C.: Using Model Checking to Generate Tests from Requirements Specifications. In: Proceedings of ESEC/FSE 1999, pp. 146–162 (1999)
Gupta, R., Soffa, M.L.: Employing Static Information in the Generation of Test Cases. Software Testing, Verification and Reliability 3(1), 29–48 (1993)
Heimdahl, M.P., Rayadurgam, S., Visser, W., Devaraj, G., Gao, J.: Auto-Generating Test Sequences Using Model Checkers: A Case Study. In: Petrenko, A., Ulrich, A. (eds.) FATES 2003. LNCS, vol. 2931, pp. 44–62. Springer, Heidelberg (2003)
Herman, P.M.: A Data Flow Approach to Program Testing. Australian Computer Journal 8(3), 92–96 (1976)
Holzmann, G.J.: The Model Checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)
Hong, H.S., Kim, Y.G., Cha, S.D., Bae, D.H., Ural, H.: A Test Sequence Selection Method for Statecharts. Journal of Software Testing, Verification, and Reliability 10(4), 203–227 (2000)
Hong, H.S., Lee, I., Sokolsky, O., Ural, H.: A Temporal Logic Based Theory of Test Coverage and Generation. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 327–341. Springer, Heidelberg (2002)
Hong, H.S., Cha, S.D., Lee, I., Sokolsky, O., Ural, H.: Data Flow Testing as Model Checking. In: Proceedings of the 25th International Conference on Software Engineering, pp. 232–242 (2003)
Hong, H.S., Ural, H.: Using Model Checking for Reducing the Cost of Test Generation. In: Grabowski, J., Nielsen, B. (eds.) FATES 2004. LNCS, vol. 3395, pp. 110–124. Springer, Heidelberg (2005)
Laski, J.W., Korel, B.: A Data Flow Oriented Program Testing Strategy. IEEE Transactions on Software Engineering 9(5), 347–354 (1983)
Marré, M., Bertolino, A.: Unconstrained Duas and Their Use in Achieving All-uses Coverage. In: Proceedings of the International Symposium on Software Testing and Analysis, pp. 147–157 (1996)
Marré, M., Bertolino, A.: Reducing and Estimating the Cost of Test Coverage Criteria. In: Proceedings of the 18th International Conference on Software Engineering, pp. 486–494 (1996)
McMillan, K.L.: Symbolic Model Checking − an Approach to the State Explosion Problem. Kluwer Academic Publishers, Dordrecht (1993)
Ntafos, S.C.: On Required Element Testing. IEEE Transactions on Software Engineering 10(11), 795–803 (1984)
Rapps, S., Weyuker, E.J.: Selecting Software Test Data Using Data Flow Information. IEEE Transactions on Software Engineering 11(4), 367–375 (1985)
Rayadurgam, S., Heimdahl, M.P.: Coverage Based Test Generation Using Model Checkers. In: Proceedings of the 8th Annual IEEE International Conference on the Engineering of Computer Based Systems, pp. 83–91 (2001)
Podgurski, A., Clarke, L.A.: A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance. IEEE Transactions on Software Engineering 16(9), 965–979 (1990)
van der Schoot, H., Ural, H.: Data Flow Oriented Test selection for LOTOS. Computer Networks 27(7), 1111–1136 (1995)
Ural, H., Yang, B.: A Test Sequence Generation Method for Protocol Testing. IEEE Transactions on Communications 39(4), 514–523 (1991)
Ural, H., Saleh, K., Williams, A.: Test Generation Based on Control and Data Dependencies within System Specifications in SDL. Computer Communications 23(7), 609–627 (2000)
Zhu, H., Hall, P.A., May, J.H.R.: Software Unit Test Coverage and Adequacy. ACM Computing Surveys 29(4), 366–427 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
Hong, H.S., Ural, H. (2005). Dependence Testing: Extending Data Flow Testing with Control Dependence. In: Khendek, F., Dssouli, R. (eds) Testing of Communicating Systems. TestCom 2005. Lecture Notes in Computer Science, vol 3502. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11430230_3
Download citation
DOI: https://doi.org/10.1007/11430230_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26054-7
Online ISBN: 978-3-540-32076-0
eBook Packages: Computer ScienceComputer Science (R0)