2012-10-14 7 views

Antwort

5

Ja, es ist sehr gut darin. Bei der Einführung von Pex werden sie häufig den Fehler verwenden, der in der binären Sortierroutine der Java-Bibliothek gefunden wurde, wo sie bei der Suche nach dem neuen Mittelpunkt für sehr große Arrays überlaufen würde. Ein verwandter Satz von Bugs sind die Schaltjahr-Bugs und sie werden häufig eine Funktion von einem von Microsofts eigenen Produkten (Azure?) Verwenden, die eines davon in freier Wildbahn angezeigt haben.

Pex fängt viele verschiedene Fehlerklassen ab, einschließlich Überläufe, Unterläufe, Nullreferenzen, ungültiges Argument und sogar alle benutzerdefinierten Ausnahmen, die Sie in Ihre Anwendung werfen. Ich empfehle dringend, einige der ersten Schritte zu lesen und dann Pex mit Code Contracts zu kombinieren, um Ihr Leben auf lange Sicht viel einfacher zu machen.

+2

Es kann sogar Hash-Kollisionen verursachen, wenn eine Hash-Tabelle verwendet wird. Es ist so gut. – usr

+0

@BryanAnderson, könnten Sie einen Link für ein relevantes Beispiel teilen? Ich habe versucht, Pex Auto-Discovery auf die Methode von der Frage auszuführen, aber die Überlauf-/Unterlaufbedingungen nicht erkannt. –

+1

Werfen Sie einen Blick auf http://channel9.msdn.com/Blogs/Peli/Getting-Started-with-Pex-in-Visual-Studio-2008, es ist jetzt älter, aber immer noch eine gute Einführung. Möglicherweise müssen Sie auch mit Über-/Unterlauf-Prüfungen kompilieren, um Ihre Add-Methode zu testen. Ich glaube, dass sie bei den meisten Builds standardmäßig deaktiviert sind. –