Abstract

Unit testing focuses on testing the smallest units that comprise a software system and allows developers to detect bugs early in the development process. However, unit testing is unsuitable for detecting concurrency bugs in multi-threaded programs. Most concurrency bug detection tools work only with full programs. Hence, they can only be used at a later phase of development, thus postponing the detection of concurrency bugs.This paper presents a unit testing framework for detecting concurrency bugs in multi-threaded Java programs. Concurrency bugs are uncovered by applying model checking techniques to explore all possible execution paths of concurrent unit tests. We have implemented our approach based on the JUnit unit testing framework and the Java PathFinder software model checker. Concurrent unit tests can be integrated seamlessly into existing unit test suites. Our approach does not report false positives.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.