FreeBSD-Qualitätssicherung: Coverity prevent analysis tool

Daniel Seuffert

Well-Known Member
Auf SecurityFocus findet sich dieser interessante Artikel über das Coverity prevent analysis tool (Ted Unangst ist vielleicht manchem bekannt hier) und seinen Einsatz:

http://www.securityfocus.com/news/11230

Kurze Zusammenfassung auf Deutsch: Es wurden 306 potentielle Fehler entdeckt, davon nur 5 sicherheitsrelevante und 12 buffer overflows. Dies entspricht angeblich nur ungefähr 1 Fehler auf 4.000 codezeilen und unterstreicht die Bemühungen der Entwickler sauberen code abzuliefern. Colin Percival als einer der Mitglieder des Security temas von FreeBSD betont, daß bereits alle gefundenen Fehler gefixt sind. Selbstverständlich darf und sollte sich jedermann melden, falls er neue entdecken sollte.

Bemerkenswert ist imho die Aussage, daß trotz einer Verdoppelung des code-Volumens in FreeBSD (Linux hat seine codebasis in den letzten 4 Jahren verdreifacht als Vergleich) innerhalb eines Jahres die Fehleranzahl ungeachtet der Verbesserungen im analysis tool auf die Hälfte zurückging. Das bedeutet für mich:

a) FreeBSD wächst sehr stark in der codebasis durch neue features, Treiber etc.
b) Das Wachstum geht nicht zu Lasten der code-Qualität
c) Die richtige Orga ist am Werk und erfahrene und kompetente committer steuern code bei bzw. geben ihn frei.

Ich möchte noch erwähnen, daß Scott Long vor einigen Wochen bereits verkündet hat, daß nach dem Release von 6.0 (geplant 15.08.2005) nochmals die ganze codebasis durchkämmt wird. All diese Punkte werden meines Erachtens von der Öffentlichkeit viel zu wenig beachtet, weil solche Dinge leider nicht sonderlich hypefähig sind. Ich wünsche mir persönlich noch mehr Regressionstests (es gibt auch z.B. jetzt ein Sommer of code Projekt dazu) und mehr Stresstests. Diese werden z.B. von Peter Holm in Dänemark durchgeführt, dessen Arbeit leider auch ungerechtfertigterweise etwas im Schatten steht.

Ich hoffe, daß alle Beteiligten weiterhin so gute Arbeit leisten oder sich sogar noch steigern können. Wir alle profitieren davon als Nutzer. :)
 
:thumbsup:

ich möchte nur noch zusätzlich drauf hinweisen, wieviele mittlerweile coverity einsetzten und die masse der commits, die hierdrauf immer folgen ;)

in allem: keep up the excellent work, freebsd!
 
Moin,

ein tiefer Couteau vor der Entwicklungsmannschaft.

Aber: Diese erfreulichen Tatsachen sollten nicht unbedingt an die größte Glocke gehängt werden. Es steigt dann nämlich auch der Druck, Treiber und Features in das System einzubauen, die die Welt nicht wirklich benötigt.

@Daniel:
Hast Du zufällig einen Link zu den Ergebnissen des Stresstests? Die will ich dann unserem nörgelndem Kunden vorlegen. Vielleicht hält der dann endlich mal die Klappe.

Viele Grüße und einen schönen Sonntag.

Jürgen
 
@juedan

juedan schrieb:
Aber: Diese erfreulichen Tatsachen sollten nicht unbedingt an die größte Glocke gehängt werden. Es steigt dann nämlich auch der Druck, Treiber und Features in das System einzubauen, die die Welt nicht wirklich benötigt.

So grundsaetzlich fiele mir da erstmal nichts ein, was nicht vielleicht irgendwo gebraucht wuerde. Bspw. war ich damals froh, dass Linux meinen Taschenrechner unterstuetzt hat (TI Voyage 200) um nicht die Daten mit Windows transferieren zu muessen - das waere doch so eine Sache "die die Welt nicht wirklich benötigt" :)

Also ich will den Fortschritt nicht aufhalten und freue mich auch ueber Sachen, die ich vielleicht selbst nicht brauche (zumindest nicht im Moment).
 
Hallo Hunter,

unter dem Gedanken "Fortschrittsbremse" wollte ich das auch nicht gesehen haben, sondern eher unter dem Gedanken "was kann als third-party Software" angeboten werden. Eben z.B. ein Transfertool, um Daten von einem TI-Voyage 200 abzuholen. Genauso wie gPhoto es macht.

Wie geschrieben: Meinen Respekt vor der Entwicklergemeinde!

Grüße

Jürgen
 
Hallo Jürgen,

die logs der letzten Coverity-Analyse sind wohl nicht öffentlich zugänglich, zumindest habe ich sie auf die Schnelle nicht gefunden (hatte kaum Zeit). Aber was die Stresstests von Peter Holm betrifft, so kann man sich hier ausgiebig informieren:

http://www.holm.cc/stress/ Die Ergebnisse der gefundenen errata finden sich immer hier: http://www.holm.cc/stress/log/index.html

Wie wichtig die sind kann man auch z.B. auf der todo-Liste von FreeBSD 6.0 ablesen, man schaue auf http://www.freebsd.org/releases/6.0R/todo.html.

Die Ergebnisse werden demnächst (ein paar Wochen) durch eine neue SMP-Maschine hoffentlich verbessert werden. Eine Ausweitung der Tests durch native Tests auf allen Plattformen (z.B. Alpha, Sparc64 etc.) ist geplant, scheitert aber momentan an der starken beruflichen Belastung von Peter, der nur am Wochenende Zeit hat. Vielleicht lässt sich das später anderweitig Lösen, vielleicht indem andere Personen sich auch beteiligen. Planungen sind hierzu im Gange, dazu vielleicht später, wenn einige andere Probleme gelöst sind.
 
Hallo Daniel,

danke für die Info. Mal sehen, vielleicht werde ich mal so einen Stresstest auf meinem Server fahren.

Viele Grüße

Jürgen
 
Zurück
Oben