2011-11-29 14 views
12

Czy istnieją ramy testowe dla C, które wymuszają warunki wyścigu?Czy istnieją ramy testowe dla C, które wymuszają warunki wyścigu?

Lub dla C++ i Java, o to chodzi.

+0

Masz pomysł na świetne pytanie! –

+2

[Corensic Jinx] (http://www.corensic.com/Products.aspx). Nie używałem go, a zatem nie mogę komentować jego użyteczności ani skuteczności. –

+0

Świetne pytanie, ale generalnie najlepsze warunki wyścigu są zbyt trudne do uderzenia, aby uzyskać ogólne narzędzie do wykonania dobrej pracy. Na przykład glibc/NPTL zawiera pewne nieprzyjemne warunki wyścigu, które zostały zgłoszone i zignorowane, co prawdopodobnie zająłby dziesiątki lub setki lat na jednej maszynie. Oczywiście prawdopodobnie zostały już wielokrotnie trafione w centrach danych Google lub Facebook ... –

Odpowiedz

7

Narzędzie Valgrind Helgrind wykrywa (między innymi) wyścigi danych w programach C lub C++, które używają pthreadów.

+0

drd to kolejne narzędzie do wykrywania wyścigów danych. – dbeer

+1

Dzięki; również [ThreadSanitizer] (http://code.google.com/p/data-race-test/wiki/ThreadSanitizerVsOthers) – Roland

+0

Dziękuję za odpowiedź. –

Powiązane problemy