Diploma Thesis DIP-3459

BibliographyM.O.Schneider, Philip: Entwurf eines selbstlernenden Filters für die automatische statische Code-Analyse.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Diploma Thesis No. 3459 (2013).
62 pages, german.
CR-SchemaD.2.5 (Software Engineering Testing and Debugging)
F.3.2 (Semantics of Programming Languages)
I.2.2 (Automatic Programming)
I.5.2 (Pattern Recognition Design Methodology)
Abstract

Zusammenfassung

Im Rahmen dieser Diplomarbeit wurde ein System entwickelt, mit dem sich falsch-positive Warnmeldungen von FindBugs, einem Werkzeug für die statische Code-Analyse, unterdrücken lassen. Der dafür verwendete Ansatz ist auch auf andere Werkzeuge der statischen Code-Analyse übertragbar. Basis des Entwurfs ist ein selbstlernender Algorithmus, der anhand der Bug-Klassifizierungen eines Benutzers lernt, in welchen Situationen eine Warnmeldung als falsch-positiverachtet wird. Mit diesem Wissen kann der Algorithmus in zukünftigen Analysen die Situationen wiedererkennen und falsch-positive Warnmeldungen vor einer Ausgabe an den Benutzer unterdrücken. Die Situationen werden anhand individueller Merkmale des Source-Codes wiedererkannt, daher ist der Aspekt des Ähnlichkeitsvergleichsvon Source-Code ein zentraler Bestandteil dieser Arbeit.

Abstract

In this thesisa system was developed to suppress falsepositive error reports of FindBugs, a tool for static analysis. The used approach can be adapted to other static analysis tools as well. The core ofthe concept is a self-learning algorithm. Based on the developer’s bug classifications, the system will learn, in which situations the errorreports can be considered being false positive. Based on this knowledge, the algorithm is able to recognize these situations in future analysis passes and thereby suppress the corresponding error reports. The situations get recognized on the base of individual features of the sourcecode. Therefore the aspect of similarity measurement of source code fragments is an essential element of this approach.

Full text and
other links
PDF (12454872 Bytes)
Department(s)University of Stuttgart, Institute of Software Technology, Software Engineering
Superviser(s)Jan-Peter Ostberg
Entry dateOctober 4, 2013
   Publ. Computer Science