×

Testing concurrent objects with application-specific schedulers. (English) Zbl 1161.68630

Fitzgerald, John S. (ed.) et al., Theoretical aspects of computing – ICTAC 2008. 5th international colloquium, Istanbul, Turkey, September 1–3, 2008. Proceedings. Berlin: Springer (ISBN 978-3-540-85761-7/pbk). Lecture Notes in Computer Science 5160, 319-333 (2008).
Summary: In this paper, we propose a novel approach to testing executable models of concurrent objects under application-specific scheduling regimes. Method activations in concurrent objects are modeled as a composition of symbolic automata; this composition expresses all possible interleavings of actions. Scheduler specifications, also modeled as automata, are used to constrain the system execution. Test purposes are expressed as assertions on selected states of the system, and weakest precondition calculation is used to derive the test cases from these test purposes. Our new testing technique is based on the assumption that we have full control over the (application-specific) scheduler, which is the case in our executable models under test. Hence, the enforced scheduling policy becomes an integral part of a test case. This tackles the problem of testing non-deterministic behavior due to scheduling.
For the entire collection see [Zbl 1154.68011].

MSC:

68Q85 Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.)
68Q60 Specification and verification (program logics, model checking, etc.)
68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)

Software:

Maude
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] Choi, J.-D.; Zeller, A., Isolating failure-inducing thread schedules, International Symposium on Software Testing and Analysis, 210-220 (2002), New York: ACM Press, New York · doi:10.1145/566172.566211
[2] Clarke, E. M.; Grumberg, O.; Peled, D. A., Model Checking (1999), Cambridge: The MIT Press, Cambridge
[3] Clavel, M.; Durán, F.; Eker, S.; Lincoln, P.; Martí-Oliet, N.; Meseguer, J.; Quesada, J. F., Maude: Specification and programming in rewriting logic, Theoretical Computer Science, 285, 187-243 (2002) · Zbl 1001.68059 · doi:10.1016/S0304-3975(01)00359-0
[4] de Boer, F. S.; Clarke, D.; Johnsen, E. B.; De Nicola, R., A complete guide to the future, Programming Languages and Systems, 316-330 (2007), Heidelberg: Springer, Heidelberg · Zbl 1475.68045 · doi:10.1007/978-3-540-71316-6_22
[5] Edelstein, O.; Farchi, E.; Nir, Y.; Ratzaby, G.; Ur, S., Multithreaded Java program test generation, IBM Systems Journal, 41, 1, 111-125 (2002) · doi:10.1147/sj.411.0111
[6] Fersman, E.; Krcál, P.; Pettersson, P.; Yi, W., Task automata: Schedulability, decidability and undecidability, Information and Computation, 205, 8, 1149-1172 (2007) · Zbl 1121.68062 · doi:10.1016/j.ic.2007.01.009
[7] ISO/IEC 9646-1: Information technology - OSI - Conformance testing methodology and framework - Part 1: General Concepts (1994)
[8] Jasper, R.; Brennan, M.; Williamson, K.; Currier, B.; Zimmerman, D., Test data generation and feasible path analysis, Proceedings of the International symposium on Software testing and analysis (ISSTA 1994), 95-107 (1994), New York: ACM Press, New York · doi:10.1145/186258.187150
[9] Johnsen, E. B.; Owe, O., An asynchronous communication model for distributed concurrent objects, Software and Systems Modeling, 6, 1, 35-58 (2007)
[10] Magee, J.; Kramer, J., Concurrency: State Models & Java Programs (2006), Chichester: Wiley, Chichester · Zbl 0924.68026
[11] Meseguer, J., Conditional rewriting logic as a unified model of concurrency, Theoretical Computer Science, 96, 73-155 (1992) · Zbl 0758.68043 · doi:10.1016/0304-3975(92)90182-F
[12] Nigro, L.; Pupo, F.; Agha, G. A.; De Cindio, F.; Rozenberg, G., Schedulability analysis of real time actor systems using coloured petri nets, Concurrent Object-Oriented Programming and Petri Nets, 493-513 (2001), Heidelberg: Springer, Heidelberg · Zbl 0976.68569 · doi:10.1007/3-540-45397-0_21
[13] Rusu, V.; du Bousquet, L.; Jéron, T.; Grieskamp, W.; Santen, T.; Stoddart, B., An approach to symbolic test generation, Integrated Formal Methods, 338-357 (2000), Heidelberg: Springer, Heidelberg · Zbl 1043.68543 · doi:10.1007/3-540-40911-4_20
[14] Schönborn, J.; Kyas, M.; Fitzgerald, J.; Haxthausen, A., A theory of bounded fair scheduling, International Colloquium on Theoretical Aspects of Computing (ICTAC), 334-348 (2008), Heidelberg: Springer, Heidelberg · Zbl 1161.68583
[15] Stone, J. M., Debugging concurrent processes: A case study, Proceedings SIGPLAN Conference on Programming Language Design and Implementation (PLDI 1988), 145-153 (1988), New York: ACM Press, New York · doi:10.1145/53990.54005
[16] Tillmann, N.; Schulte, W., Parameterized unit tests, Proceedings of the 10th European Software Engineering Conference / 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2005), 253-262 (2005), New York: ACM Press, New York · doi:10.1145/1081706.1081749
[17] Wang, C.; Yang, Z.; Ivancic, F.; Gupta, A.; Graf, S.; Zhang, W., Whodunit? Causal analysis for counterexamples, Automated Technology for Verification and Analysis, 82-95 (2006), Heidelberg: Springer, Heidelberg · Zbl 1161.68588 · doi:10.1007/11901914_9
[18] Weyuker, E.J.: Testing component-based software: A cautionary tale. IEEE Software, pp. 54-59 (September 1998)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.