FindBugs

FindBugs
FindBugs
Logo
Maintainer Bill Pugh
Aktuelle Version 1.3.9
(21. August 2009)
Betriebssystem Plattformübergreifend
Programmier­sprache Java
Kategorie Bytecode-Analyse
Lizenz LGPL
findbugs.sf.net

FindBugs ist ein Open Source Programm, welches in Java-Programmen nach Fehlermustern sucht. Solche Fehlermuster deuten meist auf tatsächliche Fehler hin. Das Programm wurde von der University of Maryland aus initiiert und ursprünglich von Bill Pugh und David Hovemeyer entwickelt.

Inhaltsverzeichnis

Funktionsweise

Das Programm kann über die Kommandozeile, eine eigenständige GUI, oder über Plugins für Entwicklungsumgebungen wie Eclipse gestartet werden. FindBugs analysiert Java-Bytecode mittels statischer Code-Analyse auf der Suche nach bekannten Fehlermustern. Statisch bedeutet hier, dass die Suche nach Fehlern ausschließlich durch Untersuchung des Bytecodes passiert, ohne das zu analysierende Programm ausführen zu müssen. Da kompilierter Code durchsucht wird, kommt man ohne Quellcode aus.

Fehlermuster, beziehungsweise Sammlungen aus solchen, ergeben sich meist aufgrund komplizierter Funktionen der Programmiersprache, missverstandenen API-Methoden, missverstandenen Programmabläufen bei Überarbeitungen und Tippfehlern[1].

FindBugs kategorisiert die gefundenen Fehler, um Falschmeldungen von tatsächlichen Fehler besser unterscheiden zu können. Dies wird durch eine zusätzliche Priorisierungen (z. B. Priorität Hoch) weiter unterstützt.

Das Projekt wird unter anderem von GlassFish und JavaServer Faces verwendet und finanziell von der University of Maryland, Google und Sun Microsystems unterstützt.[2]

Beispiel

Bei folgendem Programmabschnitt würde FindBugs einen Fehler der Art „Value is null and guaranteed to be dereferenced on exception path“ melden.

    // ...
    Object einObjekt = new Object();
    // ...
    if (einObjekt == null)
        System.out.println("Hash-Code= " + einObjekt.hashCode());

Bei dieser Abprüfung des Objektes auf null ist eine kleine Unachtsamkeit unterlaufen: die korrekte Absicherung sollte auf if (einObjekt != null) lauten.

Einzelnachweise

  1. FindBugs: Fakten
  2. FindBugs: Benutzer und Unterstützer

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • FindBugs — Développeur William Pugh (Université du Maryland) Dernière version …   Wikipédia en Français

  • Findbugs — Maintainer: Bill Pugh Aktuelle Version: 1.3.8 (15. März 2009) Betriebssystem …   Deutsch Wikipedia

  • FindBugs — Тип Статистический анализатор кода Разработчик Уильям Пью …   Википедия

  • FindBugs — Infobox Software name = FindBugs caption = developer = latest release version = 1.3.5 latest release date = release date|2008|09|13 latest preview version = latest preview date = operating system = Cross platform language = programming language …   Wikipedia

  • ANT (Apache) — Apache Ant Pour les articles homonymes, voir ant. Ant …   Wikipédia en Français

  • Ant (Apache) — Apache Ant Pour les articles homonymes, voir ant. Ant …   Wikipédia en Français

  • Ant (logiciel) — Apache Ant Pour les articles homonymes, voir ant. Ant …   Wikipédia en Français

  • Apache Ant — Pour les articles homonymes, voir ant. Ant …   Wikipédia en Français

  • List of tools for static code analysis — This is a list of significant tools for static code analysis.Historical products* Lint the original static code analyzer of C code.Open source or Noncommercial products .NET (C#, VB.NET and all .NET compatible languages) *… …   Wikipedia

  • Yasca — Infobox Software name = Yasca caption = Yet Another Source Code Analyzer developer = Michael Scovetta latest release version = 1.0 latest release date = release date|2008|10|03 latest preview version = latest preview date = operating system =… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”