Silvia Heinzl,
"Evaluierung von statischen Codeanalysewerkzeugen für C#"
, 3-2011
Original Titel:
Evaluierung von statischen Codeanalysewerkzeugen für C#
Sprache des Titels:
Deutsch
Original Kurzfassung:
Softwarefehler können die Produktionskosten von Software erheblich erhöhen. Je früher Fehler identifiziert werden, desto geringer sind die daraus resultierenden Kosten. Eine Möglichkeit zum Entdecken von Softwarefehlern in einem frühen Entwicklungsstadium bieten statische Codeanalysewerkzeuge.
In dieser Arbeit werden drei statische Codeanalysewerkzeuge für C# evaluiert. Bei den Werkzeugen handelt es sich um die nicht kostenpflichtige Produkte FxCop und Gendarme, sowie CodeIt.Right als Vertreter eines kommerziell erwerbbaren Produktes. Als Metrik zur Evaluierung wird die sogenannte Over Detection Rate (ODR) verwendet. Mit Hilfe der ODR kann gezeigt werden, welche Regeln bei Durchführung einer Analyse verlässliche Ergebnisse liefern.
Analysiert wird der Quelltext von drei Open Source-Produkten, die in der Sprache C# implementiert wurden. Durch die Analyse dieser drei Produkte konnte pro Werkzeug eine hohe Regelabdeckung realisiert werden.
Die Anzahl der zu analysierenden Fundstellen pro Regel wurde entsprechend eines vorab definierten Schlüssels festgelegt. Die als inkorrekt klassifizierten Fundstellen werden im Ergebnisteil dieser Arbeit ausführlich erläutert.
Sprache der Kurzfassung:
Deutsch
Englische Kurzfassung:
Software defects can increase production costs of software considerably. The earlier a defect is identified, the lower are the resulting costs. Static code analysis tools offer the opportunity for detecting software defects in an early stage of the software development process.
In this thesis three static code analysis tools are evaluated. Two of the tools that were analyzed are available free of charge (FxCop and Gendarme) and one is a commercially acquirable tool (CodeIt.Right). The metric used for evaluation is the so called Over Detection Rate (ODR). With the help of the ODR, it can be shown, which rules can achieve reliable results.
Three open source products, implemented in C#, have been analyzed. Due to the combination of these three products, a large rule coverage for each tool could be realized.
The number of findings to be evaluated was specified through a key, defined ex ante. As incorrect classified findings, are discussed in detail in the result section of this thesis.