A sneak Preview of Typemock Racer : Thread Deadlock Finder

My blog has moved. You can view this post at the following address: http://www.osherove.com/blog/2008/7/8/a-sneak-preview-of-typemock-racer-thread-deadlock-finder.html
Published Tuesday, July 08, 2008 11:42 AM by RoyOsherove

Comments

Tuesday, July 08, 2008 12:08 PM by Paraesthesia

# Typemock: Isolator 4.3 and a Sneak Peek at Racer

Typemock: Isolator 4.3 and a Sneak Peek at Racer

Tuesday, July 08, 2008 12:19 PM by Vadim

# re: A sneak Preview of Typemock Racer : Thread Deadlock Finder

Cannot wait to start playing with Typemock Racer.  Is released version going to be free?

Tuesday, July 08, 2008 4:54 PM by Nicholas Blumhardt

# re: A sneak Preview of Typemock Racer : Thread Deadlock Finder

Wow neat idea :)

# Reflective Perspective - Chris Alcock » The Morning Brew #132

Pingback from  Reflective Perspective - Chris Alcock  » The Morning Brew #132

Wednesday, July 09, 2008 4:16 AM by Eyal

# re: A sneak Preview of Typemock Racer : Thread Deadlock Finder

I just published today a similiar framework that i'm working on. Although I wasn't planning for it to detect the locks. You usued proxy IL code analisys and generation for this one to work, am i right (if it's not a secret)?

P.S. if you want to participate in PUnit initial requirements - blogs.microsoft.co.il/.../punit-parallel-unit-testing-in-making.aspx

Wednesday, July 09, 2008 11:08 AM by Dew Drop - July 9, 2008 | Alvin Ashcraft's Morning Dew

# Dew Drop - July 9, 2008 | Alvin Ashcraft's Morning Dew

Pingback from  Dew Drop - July 9, 2008 | Alvin Ashcraft's Morning Dew

Wednesday, July 09, 2008 5:16 PM by Avish

# re: A sneak Preview of Typemock Racer : Thread Deadlock Finder

Very cool, and addressing an important problem. Kudos! I have a few questions, however:

"To reproduce this result..." - you mean that by just running the test again, it won't be reproduced?

It seems like ThreadTest simulates execution of different blocks (delimited by lock boundaries) from different threads in every possible order, until it detects a deadlock. If this assumption is correct, then:

1. Does the SpecificScenario attribute tell ThreadTest to try that particular order first?

2. Doesn't the number of permutations grow exponentially with the number of locks or threads? How does TypeMock Racer perform with real codebases?

Thursday, July 10, 2008 4:30 AM by RoyOsherove

# re: A sneak Preview of Typemock Racer : Thread Deadlock Finder

avish:

1. you are correct. it will start with the failing scenario first, which is good for debugging purposes.

2.The number of permutations does grow almost exponentially at some cases. there are various heuristics that are taken but tests with many threads and many locks will almost always perform slower that simpler ones. since this is an integration testing framework, tests may take longer. I will show some more complex examples later on.

Thursday, July 10, 2008 5:57 PM by ISerializable - Roy Osherove's Blog

# Poll: What threading features do you use?

As we are working on the next set of features for Typemock Racer, the threading related test framework

Friday, July 11, 2008 5:06 AM by Brian Rasmussen

# re: A sneak Preview of Typemock Racer : Thread Deadlock Finder

Looks very interesting. I'm looking forward to see the release.

If can I just mention one little thing about the sample code. It is generally not a good idea to use strings when locking as they may be shared across types due to interning.

Sunday, July 13, 2008 3:53 PM by ISerializable - Roy Osherove's Blog

# Poll Results: Threading, Mock Frameworks and unit test frameworks

Here are the current results from the three questions I asked last week . Thanks to all those who answered

Sunday, July 13, 2008 3:59 PM by Community Blogs

# Poll Results: Threading, Mock Frameworks and unit test frameworks

Here are the current results from the three questions I asked last week . Thanks to all those who answered

Saturday, August 02, 2008 1:12 PM by ISerializable - Roy Osherove's Blog

# Deadlock detectors

This is a pretty interesting approach to a deadlock detector: It uses sos   (son of strike debugger

Tuesday, August 12, 2008 11:51 AM by ISerializable - Roy Osherove's Blog

# Build and Continuous Integration - Toolgasm achieved

I love me some TeamCity here is what our Racer build looks like these days (some of them run Finalbuilder

Tuesday, August 12, 2008 1:02 PM by Community Blogs

# Build and Continuous Integration - Toolgasm achieved

I love me some TeamCity here is what our Racer build looks like these days (some of them run Finalbuilder

Wednesday, August 20, 2008 5:50 PM by Paulo Morgado

# Typemock Racer Alpha Is Out

Typemock has released an alpha version of its newest product: Typemock Racer . Typemock Racer is the

Wednesday, August 20, 2008 5:50 PM by Paulo Morgado

# Typemock Racer Alpha Is Out

Typemock has released an alpha version of its newest product: Typemock Racer . Typemock Racer is the

Wednesday, August 20, 2008 6:44 PM by Paulo Morgado

# Saiu A Alfa Do Typemock Racer

A Typemock lançou uma versão alfa do seu mais recente produto: Typemock Racer . O Typemock Racer é a

# Eli Lopian’s Blog (TypeMock) » Blog Archive » Releasing Isolator 5.0 and Racer alpha

Pingback from  Eli Lopian’s Blog (TypeMock)  » Blog Archive   » Releasing Isolator 5.0 and Racer alpha

Wednesday, August 27, 2008 5:44 PM by ISerializable - Roy Osherove's Blog

# Typemock Racer Alpha Available - Deadlock Finder

We’ve released the alpha version of Typemock Racer . Go register. Here’s the basic breakdown of what

Tuesday, May 26, 2009 10:46 PM by Paulo Morgado

# Saiu A Alfa Do Typemock Racer

A Typemock lançou uma versão alfa do seu mais recente produto: Typemock Racer . O Typemock Racer é a