Error Detection in Concurrent Java Programs

Graham Hughes, Sreeranga P. Rajan, Tom Sidle, Keith D. Swenson · Electronic Notes in Theoretical Computer Science · 2006

Concurrency in multithreaded programs introduces additional complexity in software verification and testing, and thereby significantly increases the cost of Quality Assurance (QA). We present a case study in which a specialized model checker was used to discover concurrency errors in a large preexisting code base. The results revealed race conditions that lead to data corruption errors whose detection would have been prohibitively expensive with conventional testing and QA methods. We describe our methodology and highlight parts of the methodology that could be automated.

Read the paper · More papers on PaperTik