2009-10-27 48 views
9

是否有现有的Java工具类似于微软的CHESS?或者是CHESS源代码打开,以便我可以尝试将其转换为Java?是否有类似于微软CHESS的Java工具?

+1

因此,微软现在正在对CHESS进行版权......在这里,我 - 离侵权只有一封信......世界即将到来是什么? – ChssPly76 2009-10-28 00:05:42

回答

7

Google的Thread Weaver为Java提供了一些类似的功能。来自Thread Weaver项目页面:

线程编织器是用于编写Java中的多线程单元测试的框架。

它提供了在代码中创建断点以及在达到断点时停止执行线程的机制。然后其他线程可以在第一个线程被阻塞时运行。这使您可以编写可重复的测试,以检查竞赛条件和线程安全性。

+0

我不知道。我想CHESS是更全面的,但感谢您的信息! – 2009-10-28 08:30:56

5

如果你只是想检查你的java程序,你有没有考虑过这样做:将java转换为托管代码(http://www.ikvm.net/),并用国际象棋运行它?

对于java来说,有很多静态分析工具,例如findbugs,可以帮助您在查看源代码时发现并发问题,但是我没有看到任何会实际尝试运行应用程序的东西。

+0

+1:一个有趣的想法。 IKVM是JVM和.NET上Java类库的(早期)实现。 – 2009-10-28 03:51:13

+0

这很有趣;感谢您的建议。但是Java内存模型与.NET的内存模型相似吗?我担心在.NET上运行Java代码可能会导致出现不同的问题... – 2009-10-28 08:27:33

+0

Hosam:大多数Java代码可能不依赖于确切的内存模型细节来正确运行。所以我认为你的测试不太可能在这些事情上失败。请记住,内存模型在很大程度上是一个实现细节,即使对于Java来说(虽然很多事情都是被指定的,但是正常的程序很少需要依赖这个)。 – Joey 2009-10-29 15:22:38

相关问题