Corensic, a startup company originally launched as PetraVM, has released it’s first product -- Jinx, a tool that will help you improve the quality of your applications when they are running in a multicore environment.
Jinx makes code "unlucky" by forcing hard-to-find concurrency bugs to occur with more frequency while debugging. It can be integrated into your build and test environments and is designed to improve the debugging experience and increase test coverage for multithreaded software projects. According to the company, Jinx improves the software development process by reducing the amount of time spent hunting for elusive errors in multithreaded applications and enabling you to focus more efforts on solving business problems.
Jinx examines your code and intelligently selects slices of execution time within which 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 execute, and chooses a particular schedule of thread execution that is most likely to cause a bug. Hence, Jinx makes your code "unlucky" by proactively causing it to crash so that you can investigate why it did so.