Advertisement

A Novel Test Coverage Metric for Concurrently-Accessed Software Components

  • Serdar Tasiran
  • Tayfun Elmas
  • Guven Bolukbasi
  • M. Erkan Keremoglu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3997)

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.

Keywords

Model Check Location Pair Test Coverage Concurrent Program Predicate Abstraction 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)MATHGoogle Scholar
  10. 10.
    Tasiran, S., Bogdanov, A., Ji, M.: Detecting concurrency errors in file systems by runtime refinement checking. Tech. Report HPL-2004-177, HP Labs (2004)Google Scholar
  11. 11.
    Taylor, R.N., Levine, D.L., Kelly, C.D.: Structural testing of concurrent programs. IEEE Trans. Softw. Eng. 18(3), 206–215 (1992)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Serdar Tasiran
    • 1
  • Tayfun Elmas
    • 1
  • Guven Bolukbasi
    • 1
  • M. Erkan Keremoglu
    • 1
  1. 1.Koç UniversityIstanbulTurkey

Personalised recommendations