Jinx Helps Software Development Organizations Build Higher Quality Applications

Share Article

Corensic, a Seattle-based Startup, Delivers Software Quality Tools That Detect and Rescue Windows and Linux Applications From Catastrophic Concurrency Bugs.

Jinx makes your code "unlucky" by finding and pointing out elusive concurrency bugs, such as the one behind the severity of the 2003 Northeastern United States power blackout.

Today, Corensic (http://www.corensic.com) launched Windows and Linux versions of Jinx, a software quality tool that will help developers, testers, and IT organizations improve the reliability of their applications when they are running in a multi-core environment. Multi-core processors enjoy significant usage in enterprise desktops and datacenters, and many software developers are only just beginning to realize the full potential of these powerful processors. But despite all the power present in these processors, developers still find it challenging to build high quality multi-core applications and avoid concurrency bugs. Such bugs are enormously difficult to find, sometimes taking large development projects weeks and months to discover and resolve.

Jinx makes applications “unlucky” by forcing hard-to-find concurrency bugs to occur more frequently and then pointing out the location of the bugs to software developers. Some customers report that software testing that previously took days or weeks to surface a software defect can now be done in a few minutes. Jinx can be integrated into developers’ existing build and test environments and is designed to improve the debugging experience and increase test coverage for multithreaded software projects. For test organizations, Jinx allows systematic testing to identify the types of software defects that otherwise would slip past testing and be experienced as crashes by customers. Overall, Jinx significantly improves the software development and test process by reducing the amount of time spent hunting for elusive errors in multithreaded applications, enabling organizations to spend more time to focus on building new software functionality that meets customers needs.

Jinx offers several benefits, including:

  • You can count on Jinx. Developers and testers will gain greater confidence in the quality of their software by positively identifying concurrency bugs in their code. There are no false positives with Jinx. When Jinx finds a bug, developers can be assured that it's a bug.
  • Jinx works the way you do. Developers can continue to use their existing software development and testing methodologies and tools, including Microsoft Visual Studio 2010. Jinx does not require developers to make changes to their code or re-compile their applications. It operates in a manner that is transparent to existing development processes.
  • Jinx is easy to use and easy to get started. Developers and testers can get started in minutes by downloading the product, installing it, and finding bugs in their code.

“In over 18 years of running large software development projects at Microsoft, the bugs that either caused projects to slip or created enormous customer problems occurred in multi-threaded software. At Corensic, we’re committed to dramatically reducing the amount of time, money, and effort that developers spend on finding and fixing these software quality issues,” said Tom Phillips, CEO of Corensic.

Jinx is a revolutionary new tool for analyzing software and detecting bugs. Ordinarily, it lies dormant below the operating system. However, when applications register with the debugger to be tested, Jinx takes control of the system and proceeds in two phases: a simulation phase and a replay phase. In the simulation phase, Jinx examines code execution and intelligently selects slices of time to probe deeper for bugs. Within each time slice, Jinx evaluates numerous possibilities for the timing of how various threads within an application interact with one another, and chooses a particular schedule of thread execution that is most likely to cause a bug.

In the replay phase, Jinx then executes the simulation that causes the bug and makes it happen on the actual operating system environment. For native code, Jinx also pinpoints the location where the concurrency bug occurs. Jinx then notifies the developer, either through the IDE or the command line interface. As a result, Jinx makes code “unlucky” by proactively searching for scenarios that will cause it to crash.

"Jinx is a permanent part of my programming now; it catches even the most unlikely case of threading bug which previously would have slipped through even rigorous testing," said Kelly Brock of Bioware (Electronic Arts).

“With Jinx, we’re able to intelligently and quickly run hundreds of simulations of multi-threaded applications running on multi-core hardware. We then analyze these simulations and determine which one has the highest probability of causing a bug. From there, we execute the chosen simulation and force the bug to occur and manifest itself in the developer’s environment,” said Mark Oskin, CTO and Founder of Corensic.

Corensic, Inc. is a new software quality tools startup based in Seattle, WA and funded by Madrona Ventures and WRF Capital. Corensic’s mission is to fuel the multi-core revolution by enabling software developers and software development organizations to build higher quality software. With top scientists, executives, and advisors whose background includes work at Google, Microsoft, Citrix, Isilon, nVidia, and the University of Washington, Corensic combines decades of expertise in designing and testing enterprise-grade software and tools with deep knowledge of multi-core hardware and software.

Website: http://www.corensic.com
Follow us on Twitter: http://www.twitter.com/corensic
Find us on Facebook: http://www.facebook.com/corensic
Press Inquiries: Prashant Sridharan, prashantNOSPAM(at)corensic(dot)com

# # #

Share article on social media or email:

View article via:

Pdf Print

Contact Author

Prashant Sridharan
Visit website