Abstract
The global testing problem studied in this paper is to seek a definite answer to whether a system of concurrent black-boxes has an observable behavior in a given finite (but could be huge) set Bad. We introduce a novel approach to solve the problem that does not require integration testing. Instead, in our approach, the global testing problem is reduced to testing individual black-boxes in the system one by one in some given order. Using an automata-theoretic approach, test sequences for each individual black-box are generated from the system’s description as well as the test results of black-boxes prior to this black-box in the given order. In contrast to the conventional compositional/modular verification/testing approaches, our approach is essentially decompositional. Also, our technique is complete, sound, and can be carried out automatically. Our experiment results show that the total number of tests needed to solve the global testing problem is substantially small even for an extremely large Bad.
The research was supported in part by NSF Grant CCF-0430531.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Grail homepage, http://www.csd.uwo.ca/research/grail/
Abadi, M., Lamport, L.: Composing specifications. TOPLAS 15(1), 73–132 (1993)
Alur, R., Henzinger, T.A., Mang, F.Y.C., Qadeer, S., Rajamani, S.K., Tasiran, S.: MOCHA: Modularity in model checking. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 521–525. Springer, Heidelberg (1998)
Bertolino, A., Polini, A.: A framework for component deployment testing. In: ICSE 2003, pp. 221–231. IEEE Press, Los Alamitos (2003)
Brinksma, E., Tretmans, J.: Testing transition systems: An annotated bibliography. In: Proc. 4th Summer School on Modeling and Verification of Parallel Processes, pp. 187–195. Springer, Heidelberg (2001)
Callahan, J., Schneider, F., Easterbrook, S.: Automated software testing using modelchecking. WVU Technical Report #NASA-IVV-96-022
Clarke, E., Long, D., McMillan, K.: Compositional model checking. In: LICS 1989, pp. 353–362. IEEE Press, Los Alamitos (1989)
Coen-Porisini, A., Ghezzi, C., Kemmerer, R.A.: Specification of realtime systems using ASTRAL. TSE 23(9), 572–598 (1997)
de Alfaro, L., Henzinger, T.A.: Interface automata. In: FSE 2001, pp. 109–120. ACM Press, New York (2001)
Engels, A., Feijs, L.M.G., 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)
Fisler, K., Krishnamurthi, S.: Modular verification of collaboration-based software designs. In: ESEC/FSE 2001, pp. 152–163. ACM Press, New York (2001)
Flanagan, C., Qadeer, S.: Thread-modular model checking. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 213–225. Springer, Heidelberg (2003)
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–163. Springer, Heidelberg (1999)
Ghosh, S., Mathur, P.: Issues in testing distributed component-based systems. In: First ICSE Workshop on Testing Distributed Component-Based Systems (1999)
Giannakopoulou, D., Pasareanu, C.S., Cobleigh, J.M.: Assume-guarantee verification of source code with design-level assumptions. In: ICSE 2004, pp. 211–220. IEEE Press, Los Alamitos (2004)
Harrold, M.J.: Testing: a roadmap. In: Proceedings of the conference on the future of software engineering, pp. 61–72. ACM Press, New York (2000)
Henzinger, T.A., Jhala, R., Majumdar, R., Qadeer, S.: Thread-modular abstraction refinement. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 262–274. Springer, Heidelberg (2003)
Jeffords, R.D., Heitmeyer, C.L.: A strategy for efficiently verifying requirements. In: FSE 2003, pp. 28–37. ACM Press, New York (2003)
Jones, C.B.: Tentative steps towards a development method for interfering programs. TOPLAS 5(4), 596–619 (1983)
Lamport, L.: Specifying concurrent program modules. TOPLAS 5(2), 190–222 (1983)
Li, H., Krishnamurthi, S., Fisler, K.: Verifying cross-cutting features as open systems. ACM SIGSOFT Software Engineering Notes 27(6), 89–98 (2002)
Lynch, N., Tuttle, M.: An introduction to input/output automata. CWI-Quarterly 2(3), 219–246 (1989)
Nachmanson, L., Veanes, M., Schulte, W., Tillmann, N., Grieskamp, W.: Optimal strategies for testing nondeterministic systems. In: ISSTA 2004, pp. 55–64. ACM Press, New York (2004)
Orso, A., Harrold, M.J., Rosenblum, D.S.: Component metadata for software engineering tasks. In: Emmerich, W., Tai, S. (eds.) EDO 2000. LNCS, vol. 1999, pp. 129–144. Springer, Heidelberg (2001)
Peled, D., Vardi, M.Y., Yannakakis, M.: Black box checking. In: FORTE/PSTV 1999, pp. 225–240. Kluwer, Dordrecht (1999)
Petrenko, A., Yevtushenko, N., Le Huo, J.: Testing transition systems with input and output testers. In: Hogrefe, D., Wiles, A. (eds.) TestCom 2003. LNCS, vol. 2644, pp. 129–145. Springer, Heidelberg (2003)
Pnueli, A.: In transition from global to modular temporal reasoning about programs. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems, sub-series F: Computer and System Science (1985)
Rosenblum, D.: Adequate testing of componentbased software. Department of Information and Computer Science, University of California, Irvine, Technical Report 97-34 (August 1997)
Szyperski, C.: Component technology: what, where, and how? In: ICSE 2003, pp. 684–693. IEEE Press, Los Alamitos (2003)
Tai, C., Carver, R.H.: Testing of distributed programs. In: Parallel and Distributed Computing Handbook, pp. 955–978. McGraw-Hill, New York (1996)
Tretmans, J., Brinksma, E.: Torx: Automated model-based tesing. In: First European Conference on Model-Driven Software Engineering, pp. 31–43 (2003)
Voas, J.: Developing a usage-based software certification process. IEEE Computer 33(8), 32–37 (2000)
Whaley, J., Martin, M.C., Lam, M.S.: Automatic extraction of object-oriented component interfaces. In: ISSTA 2002, pp. 218–228. ACM Press, New York (2002)
Xie, G., Dang, Z.: An automata-theoretic approach for model-checking systems with unspecified components. In: Grabowski, J., Nielsen, B. (eds.) FATES 2004. LNCS, vol. 3395, pp. 155–169. Springer, Heidelberg (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Xie, G., Dang, Z. (2006). Testing Systems of Concurrent Black-Boxes—An Automata-Theoretic and Decompositional Approach. In: Grieskamp, W., Weise, C. (eds) Formal Approaches to Software Testing. FATES 2005. Lecture Notes in Computer Science, vol 3997. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11759744_12
Download citation
DOI: https://doi.org/10.1007/11759744_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34454-4
Online ISBN: 978-3-540-34455-1
eBook Packages: Computer ScienceComputer Science (R0)