Sciweavers

KBSE
2008
IEEE

Predictive Typestate Checking of Multithreaded Java Programs

13 years 10 months ago
Predictive Typestate Checking of Multithreaded Java Programs
—Writing correct multithreaded programs is difficult. Existing tools for finding bugs in multithreaded programs primarily focus on finding generic concurrency problems such as data races, atomicity violations, and deadlocks. However, these generic bugs may sometimes be benign and may not help to catch other functional errors in multithreaded programs. In this paper, we focus on a high-level programming error, called typestate error, which happens when a program does not follow the correct usage protocol of an object. We present a novel technique that finds typestate errors in multithreaded programs by looking at a successful execution. An appealing aspect of our technique is that it not only finds typestate errors that occur during a program execution, but also many other typestate errors that could have occurred in a different execution. We have implemented this technique in a prototype tool for Java and have experimented it with a number of real-world Java programs.
Pallavi Joshi, Koushik Sen
Added 31 May 2010
Updated 31 May 2010
Type Conference
Year 2008
Where KBSE
Authors Pallavi Joshi, Koushik Sen
Comments (0)