Met de komst van multicoreprocessors wordt multithreaded programmeren steeds belangrijker. Het bedrijf Coverity heeft een softwarepakket op de markt gebracht dat de ontwikkelaar hierbij moet assisteren.
Om optimaal gebruik te maken van de mogelijkheden van moderne multicoreprocessors moet een softwareontwikkelaar gebruik maken van meerdere threads in zijn programma. Door meerdere threads te gebruiken kunnen de cores simultaan instructies verwerken wat de verwerkingssnelheid uiteraard ten goede komt.
Het programmeren met meerdere threads is echter wel complexer en niet voor iedere programmeur weggelegd. Zo kan een zogenaamde race condition ontstaan; een situatie waarbij de uitkomst van een routine onverwacht is en afhangt van de tijd die de verschillende processen binnen de applicatie voor hun rekening nemen. Een ander probleem dat voor kan komen is de zogenaamde deadlock: twee verschillende processen wachten eeuwig op elkaar tot de ander klaar is.
Coverity Thread Analyzer for Java moet hier de helpende hand bieden. Het pakket kan tijdens het draaien van een programma bovenstaande problemen signaleren zodat de ontwikkelaar van het programma de nodige actie kan ondernemen. Het voordeel van de tool is ook dat het situaties kan herkennen die tijdens het testen niet naar voren komen, maar in zeldzame omstandigheden bij de klant wel voor problemen kunnen zorgen.

Naast het detecteren van bovenstaande problemen kan het programma ook helpen bij het omzetten van single threaded naar multi threaded code. Het programma signaleert data die door verschillende threads gedeeld wordt en adviseert waar locking toegepast moet worden. De tool draait op Windows, Linux, OS X en Solaris, en ondersteunt de Sun JDK en IBM's JVM vanaf versie 1.5 en BEA Jrockit vanaf versie 5.