An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
A Formal Evaluation of Data Flow Path Selection Criteria
IEEE Transactions on Software Engineering
Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Structural Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Eraser: a dynamic data race detector for multithreaded programs
ACM Transactions on Computer Systems (TOCS)
Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
All-du-path coverage for parallel programs
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
More Experience with Data Flow Testing
IEEE Transactions on Software Engineering
Testing concurrent programs: a formal evaluation of coverage criteria
ICCSSE '96 Proceedings of the 7th Israeli Conference on Computer-Based Systems and Software Engineering
KISS: keep it simple and sequential
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Applications of synchronization coverage
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Associating synchronization constraints with data in an object-oriented language
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
AVIO: detecting atomicity violations via access interleaving invariants
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Multithreaded java program test generation
IBM Systems Journal
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
CTrigger: exposing atomicity violation bugs from their hiding places
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Kendo: efficient deterministic multithreading in software
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Saturation-based testing of concurrent programs
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
2ndStrike: toward manifesting hidden concurrency typestate bugs
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Location pairs: a test coverage metric for shared-memory concurrent programs
Empirical Software Engineering
Testing concurrent programs to achieve high synchronization coverage
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Maple: a coverage-driven testing tool for multithreaded programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
CLAP: recording local executions to reproduce concurrency failures
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Efficient concurrency-bug detection across inputs
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
Concurrency bugs are becoming increasingly important due to the prevalence of concurrent programs. A fundamental problem of concurrent program bug detection and testing is that the interleaving space is too large to be thoroughly explored. Practical yet effective interleaving coverage criteria are desired to systematically explore the interleaving space and effectively expose concurrency bugs. This paper proposes a concurrent program interleaving coverage criteria hierarchy, including seven (including five new) coverage criteria. These criteria are all designed based on different concurrency fault models. Their cost ranges from exponential to linear.