Corensic, a startup aimed at increasing code quality in many-core applications, says that it has a solution that will spot bugs that might otherwise slip in under the radar.
Today, the company announced Jinx for Linux and Windows. Jinx simulates the execution of parallel programs and forces concurrency bugs to happen, said Prashant Sridharan, senior director of marketing at Corensic and former director at Microsoft.
The company was founded by veterans of Microsoft, RealNetworks, and the University of Washington’s computer science department.
Jinx works by creating “alternative realities” of thread timing, he explained. Corensic becomes a hypervisor that slips in underneath the operating system, enabling it to locate bugs that may occur at a lower level than the applications itself.
“We don’t claim to find all bugs, but when we do find a bug, it is actually a bug and no false positives,” Sridharan said.
Jinx is available as a plug-in for Microsoft Visual Studio 2010, and requires 64-bit editions of Windows Vista or Windows 7 with SVM (AMD) or VMX (Intel) virtualization extensions installed. It also comes as a beta command-line tool for Linux that integrates with a developer’s existing debugger.
Deadlocks, race conditions and other concurrency defects can be the scourge of parallel programming, even when code is well tested, Sridharan said. The Northeast blackout of August 2003 was triggered by a race condition that gestated for decades, deeply embedded within millions of lines of code that was considered reliable in an energy management system, he said.
Runtimes and tools from Apple, Intel and Microsoft are making parallel programming more accessible to developers, but the complexities that caused the power failure remain, giving developers “more rope to hang themselves with,” Sridharan said. “We are complimentary to those efforts” at making concurrent programming more approachable and easier to do.