Find bugs by Jinxing your multi-threaded code.
August 25, 2010 3:11 PM   Subscribe

Find bugs by Jinxing your multi-threaded code.
I work at a start-up founded by my thesis advisor. We have just released our first product: Jinx. Jinx makes multi-threaded code 'unlucky' so bugs occur (and can be fixed) more quickly and easily. Its free for academic and non-commercial use or you can get a 30-day trial. We'd love any and all feedback. Look below the fold for more info on multi-threaded code, debugging, and the research Jinx is based on.

As scalar performance flattens out, and we enter the multicore era, more and more developers are writing multithreaded code. Microsoft, Intel, and Apple all have solutions to improve performance and increase the amount of parallelizable code in order to contend with Amdahl's law. However, performance isn’t the only thing to worry about when writing multi-threaded code. Between deadlocks, races, and general atomicity violations, a lot can go wrong. New tools are emerging that attempt to identify these kinds of bugs. Helgrind uses profiling and heuristics, but suffers from a lot of false positives. Chess is a research project which tries to ensure that multiple executions of a program explore novel interleavings, but the pauses it inserts are largely random and it has limits in its applicability. Jinx takes the novel approach of using virtualization technology and deterministic multiprocessing to allow it to explore various timings, intelligently selecting potential realities that are most likely to cause a bug so they can be found faster.
posted by lucasks (1 comment total) 3 users marked this as a favorite

Neat! I'm going to have to toy around with this (assuming there's some sort of demo I can get). I work mostly with Python, and the GIL is not a good solution for the scales of software we're playing around with.

Is your approach unique to CPU flavors, or can it be extended to e.g Cuda?
posted by spiderskull at 1:19 AM on August 28, 2010


« Older Indian Ephemera...   |   George Mann's photos of L.A.'s... Newer »


You are not currently logged in. Log in or create a new account to post comments.