Abstract
We propose a novel, practical coverage metric called “location pairs” (LP) for concurrently-accessed software components. The LP metric captures well common concurrency errors that lead to atomicity or refinement violations. We describe a software tool for measuring LP coverage and outline an inexpensive application of predicate abstraction and model checking for ruling out infeasible coverage targets.
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
Artho, C., Havelund, K., Biere, A.: High-Level Data Races. In: VVEIS 2003, Int’l Workshop on Verification and Validation of Enterprise Information Systems (2003)
Elmas, T., Tasiran, S., Qadeer, S.: Vyrd: Verifying concurrent programs by runtime refinement-violation detection. In: Proc. ACM SIGPLAN 2005 Conf. on Programming Language Design and Implementation, PLDI 2005, ACM Press, New York (2005)
Farchi, E., Nir, Y., Ur, S.: Concurrent Bug Patterns and How to Test Them. In: 17th International Parallel and Distributed Processing Symposium (IPDPS 2003), Nice, France, April 22–26, 2003, p. 286 (2003)
Flanagan, C., Freund, S., Qadeer, S.: Exploiting purity for atomicity. In: Proc. Intl. Symposium on Software Testing and Analysis (ISSTA 2004), ACM Press, New York (2004)
Flanagan, C., Freund, S.N.: Atomizer: A dynamic atomicity checker for multithreaded programs. In: Proc. 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 256–267 (2004)
Flanagan, C., Qadeer, S.: A type and effect system for atomicity. In: Proceedings of the ACM SIGPLAN 2003 Conf. on Programming Language Design and Implementation, PLDI 2003 (2003)
Long, B., Strooper, P., Wildman, L.: A method for verifying concurrent java components based on an analysis of concurrency failures. Concurrency and Computation: Practice and Experience 00(1-7), 1–13 (2005)
Long, B., Strooper, P.A.: A classification of concurrency failures in java components. In: 17th International Parallel and Distributed Processing Symposium (IPDPS 2003), Nice, France, April 22–26, 2003, p. 287 (2003)
Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)
Tasiran, S., Bogdanov, A., Ji, M.: Detecting concurrency errors in file systems by runtime refinement checking. Tech. Report HPL-2004-177, HP Labs (2004)
Taylor, R.N., Levine, D.L., Kelly, C.D.: Structural testing of concurrent programs. IEEE Trans. Softw. Eng. 18(3), 206–215 (1992)
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
Tasiran, S., Elmas, T., Bolukbasi, G., Keremoglu, M.E. (2006). A Novel Test Coverage Metric for Concurrently-Accessed Software Components. 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_5
Download citation
DOI: https://doi.org/10.1007/11759744_5
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)