I've ported the non-blocking queue psuedocode here to C#. The code below is meant as a near verbatim copy of the paper.
What approach would you take to test the implementation?
Note: I'm running in VS2010 so I don't have CHESS support yet.
Edit:
I've removed the code in question so some unsuspecting developer doesn't use it -- it required quite a few changes to get it bug free... and I still wasn't 100% confident that it was bug free. With brute force testing I could not get it to perform better than a lock based solution.
Also, since I'm targeting 3.5 I thought I was SOL with the 4.0 concurrent queue. The 3.5 RX framework includes a ConcurrentQueue so this was indeed just a fun little programming exercise and nothing more.