2009-10-27 79 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

相關問題