Quellcodeanalyse: Wie wir alle von Open Source profitieren könn(t)en

28 Jan
2009

Mitte der 80er Jahre wurde mit der Programmiersprache Eiffel die Möglichkeit eingeführt Bedingungen innerhalb von Quellcodeabschnitten zur Überprüfung des Codes zu dokumentieren. Dies ermöglichte automatisierte Überprüfungen und ebnete den Weg für das heute sehr breit eingesetzte DBC – Design By Contract Konzept.  Durch vertraglich festgelegte Vorbedingungen, Nachbedingungen und Invarianten wird eine reibungslose Zusammenarbeit einzelner Programmmodule erreicht. Halten sich alle am Entwicklungsprozess beteiligten Vertragspartner an die getroffenen Vereinbarungen, lassen sich dank dieser Methodik auf dem Vertragswerk aufsetzende Module fast beliebig austauschen, ohne dass das erwartete Ergebnis in seiner Funktionsweise beeinträchtigt wird. Fehler während der Entwicklung und aus ihnen resultierende Sackgassen können mittels Funktions- und Plausibilitätsprüfung (erfüllt der Codeabschnitt die vorgesehene Aufgabe?) frühzeitig erkannt und verhindert werden.  Firmen wie Coverity erkannten das Potential der durch Eiffel eingeführten Möglichkeiten und beliefern seither den Markt mit kommerziellen Lösungen zur automatischen Quellcodeüberprüfung.

Seither werden regelmäßige, aber nicht gänzlich uneigennützige, Überprüfungen von weit verbreiteter, quelloffener Software durchgeführt. So wurden beispielsweise bei einer erneuten Überprüfung des Quellcodes der Anyonymisierungssoftware TOR anfang dieses Jahres keine Fehler festgestellt, während bei einer Überprüfung im September 2008 noch 171 Probleme im Quellcode identifiziert werden konnten.  Über die Scans ermittelte Fehler, die teilweise ausnutzbare Sicherheitslücken ans Tageslicht bringen, fließen zur Optimierung in die produkteigenen Datenbanken ein.

Ein schönes Beispiel wie quelloffene und kommerzielle Projekte voneinander profitieren können. Durch die vom Department of Homeland Security finanzierten Security Audits konnten viele Sicherheitslücken identifiziert und geschlossen werden. Wir erfreuen uns nun noch sicherer Software, Coverity konnte sich ein nettes Zubrot verdienen und mit den kontinuierlichen Quellcodeüberprüfungen seine eigenen Datenbanken erweitern.

Links:
Eiffel
Design by Contract bei Wikipedia
Coverity

Kommentar-Formular

jweck [dot] net - Anmelden

Evidens [White] Theme von Design Disease für PremiumThemes.com