Liste von Werkzeugen zur statischen Codeanalyse
Diese Liste von Werkzeugen zur statischen Codeanalyse enthält Werkzeuge, mit deren Hilfe man Statische Code-Analyse betreiben kann.
Derartige Werkzeuge können meist nicht nur allein stehend laufen, sondern auch integriert in die Entwicklungsumgebung bzw. in den Build Server. Sie beschränken sich nicht nur auf Kodierungsregeln wie beispielsweise die MISRA-C-Regeln, sondern erkennen auch funktionale und technische Fehler, potentielle Fehler sowie auch qualitative Schwachstellen im Code (sogenannte Code-Smells), wie zum Beispiel duplizierten Code (auch Software-Klone genannt). Einige Werkzeuge können den Code auch auf sicherheitsrelevante Programmierfehler wie zum Beispiel Pufferüberläufe oder Wettlaufsituationen prüfen. Weiters gibt es noch Werkzeuge, die auch Architekturmetriken und die Konformität des Codes mit der Architekturspezifikation prüfen.
Diese Liste ist nach Programmiersprachen aufgeteilt, beginnend mit Werkzeugen, welche mehrere Programmiersprachen unterstützen bzw. unabhängig von Programmiersprachen sind. Diese Werkzeuge werden nicht noch einmal bei den unterstützten Programmiersprachen aufgeführt.
Sprachunabhängige bzw. sprachübergreifende Werkzeuge
[Bearbeiten | Quelltext bearbeiten]- App-Ray
- Werkzeug zum Auffinden von Sicherheitslücken und Datenschutzverletzungen in Android- und iOS-Apps. Unterstützt Bytecode (Java, Kotlin) und Binärcode (Swift, Objective-C).
- Axivion Bauhaus Suite
- Werkzeug für Code-, Design- und Architekturanalyse. Erhältlich für die Programmiersprachen Ada, C, C++, C# und Java.
- Black Duck Suite
- Werkzeug zur Analyse von Sourcecode und Binaries auf wiederverwendbaren Code, notwendige Lizenzen und potentielle Sicherheitsaspekte.
- BugScout
- Werkzeug zum Aufspüren potentieller Sicherheitsprobleme in Java, PHP, ASP und C# Webapplikationen.
- CAST Application Intelligence Platform
- Dashboard für die Messung von Codequalität und Produktivität. Unterstützt mehr als 30 Programmiersprachen sowie verschiedene Datenbanken.
- ChecKing
- Softwarequalitätsportal zur Darstellung der Qualität aller Phasen der Softwareentwicklung. Unterstützt statische Codeanalyse von Java, JSP, JavaScript, HTML, XML, .NET (C#, ASP.NET, VB.NET etc.), PL/SQL, embedded SQL, SAP ABAP IV, Natural/Adabas, C/C++, Cobol, JCL und PowerBuilder.
- Cigital SecureAssist
- Erweiterung für Integrierte Entwicklungsumgebungen, welche Sicherheitsprobleme während der Entwicklung aufzeigt. Unterstützt Java, .NET und PHP.
- Clang
- ein Compiler-Frontend für die Programmiersprachen C, C++, Objective-C und Objective-C++. Es verfügt im Vergleich mit anderen Compiler-Frontends über umfangreichere und genauere statische und dynamische Analysemethoden, die die Fehlersuche erleichtern.[1]
- Codyze
- Open-Source-Werkzeug zur Prüfung der korrekten Verwendung von Kryptographie. Verwendet "Code Property Graphen" und unterstützt die Sprachen Java und C++/C.[2]
- ConQAT
- (Continuous quality assessment toolkit) Ermöglicht diverse Qualitätsanalysen wie Architektureinhaltung, Prüfung auf doppelten Code, Qualitätsmetriken und kann diese auf einem Dashboard darstellen. Unterstützt unter anderen Java, C#, C++, JavaScript, ABAP und Ada.
- Coverity SAVE
- Kommerzielles Werkzeug zum Auffinden von Fehlern basierend auf dem Stanford Checker. Unterstützt die Sprachen C, C++, C# und Java.
- DMS Software Reengineering Toolkit
- Werkzeug zur Erkennung von Doppeltem Code, Totem Code und unpassendem Programmierstil. Unterstützt die Analyse von Sourcecode in C, C++, C#, Java, COBOL, PHP, VisualBasic und anderen Programmiersprachen.
- Feram
- Ein kommerzieller GitHub-basierter Dienst auf Basis anderer Open-Source-Tools. Unterstützt die Sprachen JavaScript, HTML, CSS, Python, Ruby, PHP, JSON, C, C++, C#, Objective C, D, Java, Pawn und VALA.
- Fluctuat
- Abstrakter Interpreter für die Validierung numerischer Eigenschaften von Ada und C/C++ Programmen.
- HP Fortify Source Code Analyzer
- Werkzeug zum Aufdecken von Sicherheitsproblemen in C/C++, Java, JSP, .NET, ASP.NET, ColdFusion, ASP, PHP, Visual Basic 6, VBScript, JavaScript, PL/SQL, T-SQL, Python und COBOL Programmen sowie Konfigurationsdateien.
- GrammaTech CodeSonar
- Erkennt potentielle Fehler (Bufferüberläufe, Memory-Leaks, …), prüft Concurrency und Sicherheit, visualisiert die Architektur und berechnet diverse Softwaremetriken für C-, C++- und Java-Code.
- Gamma
- Eine intelligente Software-Analyse-Plattform, die Probleme aus mehreren Linsen identifiziert: Design-Probleme, Code-Probleme, Duplizierungen und Metriken. Verfügbar für Java, C / C ++ und C #.
- IBM Rational AppScan
- Analysiert Sourcecode hinsichtlich Sicherheitslücken. Unterstützt C/C++, .NET, Java, JSP, JavaScript, ColdFusion, Classic ASP, PHP, Perl, VisualBasic 6, PL/SQL, T-SQL und COBOL
- Imagix 4D
- Erkennt insbesondere bei Embedded Applikationen Probleme mit Variablenverwendung, Task-Interaktionen und Mehrläufigkeit. Unterstützt auch beim Verstehen und Dokumentieren von C-, C++- und Java-Code.
- Infer
- Statische Codeanalyse entwickelt durch facebook. Kann C/C++, Objective-C und Java Code prüfen.
- Kalistick
- Eine Cloudbasierte Plattform für statische Code Analyse mit Praxistipps. Werkzeug zur Zusammenarbeit in agilen Teams.
- Kiuwan
- Softwarequalitätsportal zur Darstellung der Qualität aller Phasen der Softwareentwicklung. Unterstützt statische Codeanalyse von Java, JSP, JavaScript, HTML, XML, .NET (C#, ASP.NET, VB.NET etc.), PL/SQL, embedded SQL, SAP ABAP IV, Natural/Adabas, C/C++, Cobol, JCL und PowerBuilder.
- Klocwork Insight
- Erkennt Sicherheitslücken und andere technische Probleme inklusive Trend dieser Metriken. Unterstützt C, C++, C# und Java.
- Lattix
- Analysiert den Code um die Architektur aus dem Code zu erkennen, sie anhand des Codes zu definierten und schlussendlich zu refaktorisieren.
- LDRA Testbed
- Ein Software-Analyse und Test-Tool für die Sprachen C, C++, Ada83, Ada95 und Assembler (Intel, Freescale, Texas Instruments).
- MALPAS Software Static Analysis Toolset
- Ein Set an Tools für statische Codeanalyse für verschiedene Sprachen wie Ada, C, Pascal und Assembler (Intel, PowerPC and Motorola). Wird vor allem für sicherheitskritische Applikationen in Luftfahrt und Atomkraft verwendet.
- Moose
- Softwareanalyseplattform mit Werkzeugen um Software zu visualisieren, manipulieren und analysieren. Kann zu einer generischen Datenanalyseplattform ausgebaut werden. Unterstützt C, C++, Java, Smalltalk und .NET.
- Parasoft
- Statische Codeanalyse (Pattern- und Flow-basierend, In-line und Metriken) für C, C++, Java, .NET (C#, VB.NET etc.), JSP, JavaScript, XML und andere Programmiersprachen. Through a Development Testing Platform, static code analysis functionality is integrated with unit testing, peer code review, runtime error detection and traceability. Plugins für Visual Studio und Eclipse.
- Copy/Paste Detector (CPD)
- PMDs Erkennung doppelten Codes für beispielsweise Java, JSP, C, C++, ColdFusion, PHP und JavaScript[3]
- Polyspace
- Verwendet abstract interpretation, eine auf formalen Methoden basierende Technik, um im Sourcecode bestimmte Laufzeitfehler zu finden bzw. zu beweisen, dass sie nicht vorhanden sind.[4] Unterstützt C-, C++- und Ada-Code.
- Pretty Diff
- Werkzeug für sprachbezifischen Codevergleich mit Analyse, Code-Reduktion (Minifikation) und Quelltextformatierung.
- Protecode
- Analysiert den Zusammenhang zwischen einzelnen Modulen im Sourcecode und Binärdateien. Sucht nach Open-Source und Fremdcode und deren Lizenzen. Kann auch Sicherheitslöcher aufdecken.
- PVS-Studio
- Ein Software Analysewerkzeug für C, C++, C++11, C++/CX (Component Extensions), C#.
- ResourceMiner
- Analyse und Metriken von Architektur bis Codedetails, unterstützt die Entwicklung eigener Regeln für globale Codeänderungen und Codegenerierungen. Unterstützt mehr als 30 Programmiersprachen sowie alle großen Datenbanken.
- Simian - Similarity Analyser
- Analysiert Code (und auch HTML und XML) auf doppelten Code. Kann (sprachabhängig) zwischen Code und Kommentaren unterscheiden. Unterstützt Java, C#, C++, C, Objective-C, JavaScript (ECMAScript), COBOL, ABAP, Ruby, Lisp, SQL, Visual Basic, Groovy, JSP, ASP, HTML, XML.[5]
- SofCheck Inspector
- Statische Analyse des Codes hinsichtlich logischer Fehler, Race Conditions und redundantem Code. Kann Vor- und Nachbedingungen aus dem Code auslesen. Unterstützt Ada und Java.
- SonarQube
- Ein Qualitäts-Cockpit zum Managen der Technischen Schulden: Unterstützt mit diversen Plugins Programmiersprachen wie ABAP, C, Cobol, C#, Flex, Forms, Groovy, Java, JavaScript, PHP, PL/SQL, Visual Basic, XML und Python.
- Sotoarc
- Architektur- und Qualitätsanalyse und -monitoring für C, C++, C#, Java und ABAP. Ermöglicht mittels Was-wäre-wenn Szenarien die Auswirkungen von Designänderungen durchzuspielen.
- SQuORE
- Monitoring Werkzeug für verschiedene Programmiersprachen.[6]
- Structure101
- Visualisiert die Struktur der Software aus dem Code und prüft die Struktur gegen die definierte Architektur (Java, .Net, C/C++)
- Teamscale
- Commit-basierte inkrementelle Analysen für eine Vielzahl an Sprachen (Java, C#, JavaScript, ABAP, C/C++, Python etc.), u. a. Analyse von Architekturkonformität, redundantem Code, Kommentierung, Codestrukturierung und Namenskonventionen.
- Veracode
- Findet Sicherheitslücken in Binärdateien und Bytecode ohne den Sourcecode zu benötigen. Unterstützt C, C++, .NET (C#, C++/CLI, VB.NET, ASP.NET), Java, JSP, ColdFusion, PHP, Ruby on Rails und Objective-C. Kann auch mobile Applikationen für die Windows Mobile, Blackberry, Android und iOS Plattformen prüfen.
- Visual Studio Team System
- Analysiert C++- und C#-Code.
- Yasca
- Yet Another Source Code Analyzer, ein plugin-basierendes Framework um Dateien unterschiedlichen Typs zu scannen. Kommt mit Plugins für C/C++, Java, JavaScript, ASP, PHP, HTML/CSS, ColdFusion, COBOL und andere Filetypen. Lässt sich mit anderen Werkzeugen zur statischen Codeanalyse wie FindBugs, PMD und Pixy integrieren.
- .NET Compiler Platform
- (Codename "Roslyn") – Compiler Framework für C# und VB.NET mit API zur Analyse und Manipulation von Code.
- CodeIt.Right
- Werkzeug für statische Code Analyse und automatisiertes Refactoring in Richtung Best Practices. Ermöglicht eine automatische Korrektur von Fehlern und Verletzungen. Unterstützt C# und VB.NET.
- CodeRush
- Ein Plugin für Visual Studio. Erweitert Visual Studio unter anderem durch Warnungen bei Verletzungen von Best Practices basierend auf statischer Codeanalyse.
- FxCop
- Statische Codeanalyse für .NET Programme, die gegen die Common Intermediate Language kompilieren. Läuft standalone und integriert in einige Microsoft Visual Studio Editionen.
- NDepend
- Schwesternprojekt zu JDepend. Analysiert und visualisiert Abhängigkeiten und Zyklen im Code. Erlaubt es Design-Regeln zu definieren und prüfen, kann Impact-Analysen erstellen und verschiedene Versionen des Codes miteinander vergleichen. Integriert in Visual Studio.
- StyleCop
- Analysiert C# Sourcecode und prüft Codestyleregeln und Konsistenzregeln. Läuft integriert in Microsoft Visual Studio oder in einem MSBuild Projekt.
- ABAP Test Cockpit (ATC)
- Ein zentrales Qualitätsprüfungswerkzeug für ABAP-Anwendungen in SAP-Landschaften; Nachfolger des SAP-internen Tools CheckMan, des SAP Code Inspectors (SCI) und der erweiterten Programmprüfung (SLIN)
- SAST Code Security Advisor
- Ein zur SAST Suite gehörendes SAP-Add-On, das ABAP Code unter Berücksichtigung des konkreten Kontextes auf Schwachstellen wie Sicherheits- und andere Qualitätsmängel prüft. Der SAST CSA prüft in Übereinstimmung mit gängigen Empfehlungen wie die der OWASP auf alle kritischen Schwachstellen. Durch die Prüfung direkt im SAP-System kann das Tool den Kontext einer Fundstelle in die Einschätzung einbeziehen und liefert so qualitativ hochwertige Ergebnisse mit geringer False Positive Rate.[7]
- Virtual Forge CodeProfiler
- Ein in die SAP-Entwicklungsumgebung integriertes Werkzeug, das in ABAP geschriebene Anwendungen auf Sicherheitslücken, Compliance- und Qualitätsschwachstellen prüft. Enthält mehr als 240 Testfälle, die Anwender selbst erweitern können. Das Modul Automated Correction Engine (ACE) ermöglicht eine automatisierte Korrektur von Programmierfehlern. Eine Funktion zum Auffinden und Bereinigen von „Altlasten“ (nicht mehr benötigten ABAP-Code) ist ebenfalls vorhanden.[8]
- Apparat
- Ein Sprachmanipulations- und Optimierungsframework. Basiert auf einer Zwischenrepräsentation von ActionScript.
- AdaControl
- Werkzeug um Entitäten und Programmierpattern in Ada Sourcecode zu finden. Wird verwendet, um Kodierungsregeln zu prüfen, sicherheitsrelevante Regeln sicherzustellen und manuelle Codeinspections zu unterstützen.
- CodePeer
- Ein Werkzeug zur statischen Codeanalyse, welches potentielle Laufzeitfehler in Ada Programmen erkennt.
- AbsInt RuleChecker
- Statischer Quellcodeanalysator zur Prüfung von Codierrichtlinien und zur Berechnung von Codemetriken.
- Astrée
- Verwendet abstrakte Interpretation, um Laufzeitfehler, Datenwettläufe und Zusicherungsverletzungen zu finden, bzw. deren Abwesenheit zu beweisen. Beinhaltet Checker für MISRA-C und C++ und weitere Codierrichtlinien.
- BLAST model checker
- BLAST steht für Berkeley Lazy Abstraction Software verification Tool, ein Werkzeug um Softwaremodelle basierend auf lazy abstraction in C Programmen zu prüfen.
- Cppcheck
- Open-Source-Werkzeug zur Prüfung verschiedener Fehlertypen, beispielsweise die korrekte Verwendung der Standard Template Library.
- Coccinelle
- Software für Patternmatching und Transformation von Source Code
- ECLAIR
- Eine Plattform für die automatisierte Analyse, Verifikation, Testen und Transformation von C und C++ Programme.
- Frama-C
- Statisches Codeanalyseframework für C.
- Goanna
- Softwareanalysewerkzeug für C und C++.
- Goblint
- Statischer Analysator für multi-threaded C. Basiert auf abstrakter Interpretation.
- Lint
- Statisches Codeanalysewerkzeug für C und C++
- makedepend
- Ein Unix Werkzeug um Abhängigkeiten zwischen C Sourcen aufzuzeigen
- QA-C
- Statische Codeanalysewerkzeug für C und C++ für Qualitätssicherung und Sicherstellung von Coding Standards.
- SLAM project
- Ein Projekt von Microsoft Research für die Prüfung, ob Software kritischem Verhalten der von ihr verwendeten Schnittstellen nachkommt.
- Sparse
- Ein Werkzeug, um Fehler im Linux-Kernel zu finden.
- Splint
- Ein Nachfolger von Lint.
- Testwell ctc++
- Statische Codeanalyse auch für Crossplatform und Kleinstprojekte.[9]
- AbsInt RuleChecker
- Statischer Quellcodeanalysator zur Prüfung von Codierrichtlinien und zur Berechnung von Codemetriken.
- Astrée
- Verwendet abstrakte Interpretation, um Laufzeitfehler, Datenwettläufe und Zusicherungsverletzungen zu finden, bzw. deren Abwesenheit zu beweisen. Beinhaltet Checker für MISRA C und C++ und weitere Codierrichtlinien.
- Cppcheck
- Open-Source-Werkzeug zur Prüfung verschiedener Fehlertypen, beispielsweise die korrekte Verwendung der Standard Template Library.
- cpplint
- Prüft Code gegen den Google Styleguide für C++
- Coccinelle
- Software für Patternmatching und Transformation von Source Code
- ECLAIR
- Eine Plattform für die automatisierte Analyse, Verifikation, Testen und Transformation von C und C++ Programme.
- Goanna
- Softwareanalysewerkzeug für C und C++.
- Lint
- Statisches Codeanalysewerkzeug für C und C++.
- QA-C
- Statische Codeanalysewerkzeug für C und C++ für Qualitätssicherung und Sicherstellung von Coding Standards.
- SLAM project
- Ein Projekt von Microsoft Research für die Prüfung, ob Software kritischem Verhalten der von ihr verwendeten Schnittstellen nachkommt.
- Sparse
- Ein Werkzeug, um Fehler im Linux-Kernel zu finden.
- Splint
- Ein Nachfolger von Lint.
- Testwell ctc++
- Statische Codeanalyse auch für Crossplatform und Kleinstprojekte.[10]
- Ftnchek
- Ein Werkzeug zur statischen Codeanalyse in Fortran Code.
- Inspector Eiffel
- Regelbasierte Analyse basierend am AST und Control Flow Graph von Eiffel code.[11]
- CODESYS Static Analysis
- Regelbasierte Analyse von Applikationscode für Maschinen und Anlagen als Add-on für CODESYS
- EcoStruxure Machine Expert – Machine Code Analysis
- Ein voll integriertes Analysewerkzeug für EcoStruxure Machine Expert von Schneider Electric. Mit Hilfe von Metriken und Konventionsprüfungen (o. a. PLCopen-Regeln) kann die Software-Qualität des IEC Quellcodes gemessen, Schwächen identifiziert und die Einhaltung von Programmierrichtlinien geprüft werden. Komplexe Zusammenhänge können visualisiert und dokumentiert werden.
- EcoStruxure Machine Advisor Code Analysis
- Internetbasiertes Portal von Schneider Electric mit direkter Anbindung aus der Entwicklungsumgebung EcoStruxure Machine Expert. Dient zur Messung und Visualisierung von qualitätsrelevanten Projektindikatoren (Metriken und Konventionsprüfungen) im Zeitverlauf sowie zum Reporting der Qualitätsentwicklung von IEC Anwendungen.
- TIA Portal Test Suite
- Ein Optionspaket der TIA Portal Engineeringumgebung für Simatic S7-1500/1200/400/300 Steuerungen. Es umfasst die regelbasierte Analyse von Applikationscode auf Programmierrichtlinien bzw. äußeren Verbindlichkeiten. Genauso ist ein Applikationstest von Bausteinen oder Programmteilen möglich, um zum Beispiel Unittest für STEP7-Programmcode umzusetzen.[12]
- AgileJ StructureViews
- Reverse-Engineering-Werkzeug zur Darstellung von Klassendiagrammen aus Java-Code mit Fokus auf Filterung
- ObjectWeb ASM
- Werkzeug zur Teilung, Modifizierung und Zusammensetzung von Java Bytecode Klassen.
- Checkstyle
- Freies Werkzeug zur Statischen Codeanalyse insbesondere hinsichtlich der Einhaltung von Coding Standards.
- FindBugs
- Ein freies Werkzeug zur Analyse des Bytecodes von Java-Programmen hinsichtlich möglicher Fehler (basierend auf der Jakarta Byte Code Engineering Library (BCEL)). Entwickelt von der University of Maryland.
- Hammurapi
- Vielseitige Software für Code-Reviews. Gratis für nicht kommerzielle Verwendungen.
- JDepend
- Analysiert und visualisiert Abhängigkeiten und Zyklen im Code. Erlaubt es Design-Regeln zu definieren und prüfen, kann Impact-Analysen erstellen und verschiedene Versionen des Codes miteinander vergleichen.
- Jtest
- Statische Code Analyse und Test-Werkzeug von Parasoft.
- Oversecured
- Ein statischer SaaS-basierter Schwachstellenscanner für Android apps (APK-Dateien) unterstützt apps, die auf Java und Kotlin geschrieben wurden. Ermöglicht die Integration in DevOps-Prozesse. Enthält über 90 Schwachstellenkategorien.
- PMD
- Statische Codeanalyse für die Identifizierung potentieller Qualitätsprobleme.
- RIPS
- Sprachenspezifische statische Code Analyse zur Erkennung von ausnutzbaren Sicherheitsschwachstellen, Code-Qualitätsmängeln und fehlerhaften Konfigurationen im Entwicklungsprozess.
- SonarGraph
- Überprüft, ob die definierte Architektur auch umgesetzt wurde und zeigt Abweichungen von der definierten Architektur sowie Zyklen auf. Kann auch diverse Softwaremetriken errechnen.
- Soot
- Framework zur Manipulation und Optimierung für Java Code
- Squale
- Plattform für Softwarequalität (kann mit kommerziellen Analysewerkzeugen auch für andere Sprachen als Java erweitert werden).
- ThreadSafe
- Statisches Analysewerkzeug für Java mit Fokus auf Concurrencyfehlern.
- Xanitizer
- Werkzeug zum Aufdecken von Sicherheitsproblemen in Java und JSP Programmen (insbesondere Webapplikationen).[13]
- JSLint
- Ein JavaScript-Validator, der die Syntax von JavaScript untersucht.
- JSHint
- Eine Abspaltung von JSLint, die es erlaubt, weniger streng zu prüfen.
- eslint
- Ein modulares Werkzeug zum Prüfen von JavaScript als Freie Software, kann die Parser Espree oder babel-eslint verwenden.[14]
- jsonlint
- Besonders zugeschnitten auf JavaScript Object Notation (JSON).[15]
- jscs
- Vor allem zum Prüfen von Quelltext-Stil-Regeln.[16]
- Perl::Critic
- Ein Werkzeug, um Perl Best Practices sicherzustellen. Die meisten dieser Best Practices basieren auf dem Buch Perl Best Practices von Damian Conway.
- PerlTidy
- Syntaxüberprüfung, sowie Test und Sicherstellung von Kodierungsrichtlinien in Perl
- Padre(Software)
- Integrierte Entwicklungsumgebung für Perl, die auch eine statische Codeanalyse zur Prüfung typischer Anfängerfehler enthält.
- RIPS
- Automatische Detektierung von komplexen Sicherheitsschwachstellen
- Mondrian
- Sammlung von Command Line Tools für die Analyse und Refactoring von objektorientiertem PHP-Code.
- Pychecker
- Werkzeug zur Prüfung von Python Sourcecode
- Pylint
- Statische Codeanalyse
- Pyflakes
- Programm, um Python Code auf Fehler hin zu überprüfen
Werkzeuge zu Prüfung mittels formaler Methoden
[Bearbeiten | Quelltext bearbeiten]Werkzeuge die Formale Methoden (beispielsweise statische Assertions) verwenden um statische Codeanalyse zu machen:
- ECLAIR
- Verwendet auf formalen Methoden basierende Codeanalysetechniken wie abstrakte Interpretation oder Modellprüfung, kombiniert mit Techniken zur Zusicherung von Constraints. Kann das Vorhandensein oder Nicht-Vorhandensein von bestimmten Runtimefehlern im Sourcecode erkennen.
- ESC/Java und ESC/Java2
- Können basierend auf der Java Modeling Language, einer erweiterten Version von Java, Code prüfen.
- MALPAS Software Static Analysis Toolset
- Ein Werkzeug basierend auf formalen Methoden, das mittels gerichteter Graphen und regulärer Algebra beweist, dass die analysierte Software korrekt ihre mathematische Spezifikation umsetzt.
- SofCheck Inspector
- Erkennt und dokumentiert statisch Vor- und Nachbedingungen für Java Methoden. methods; Prüft statisch Vorbedingungen bei allen Aufrufern. Unterstützt auch Ada.
- SPARK Toolset
- Basierend auf der Programmiersprache SPARK prüft der SPARK Examiner Code.
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- Technische Schuld
- Review (Softwaretest)
- Dynamisches Software-Testverfahren
- Softwaremetrik
- Integrierte Entwicklungsumgebung (IDE) – enthalten üblicherweise Möglichkeiten für statische Codeanalyse.
Literatur
[Bearbeiten | Quelltext bearbeiten]- Nick Rutar, Christian Almazan, Jeff Foster: A Comparison of Bug Finding Tools for Java. Hrsg.: University of Maryland, College Park. (englisch, umd.edu [PDF] Vergleicht Bandera, ESC/Java 2, FindBugs, JLint und PMD).
- Walter W. Schilling Jr., Mansoor Alam: Integrate static analysis into a software development process. 1. November 2006 (englisch, embedded.com).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Static Code Analysis List des Web Application Security Consortiums
- Linkkatalog zum Thema Java Static Checkers bei curlie.org (ehemals DMOZ)
- Static Source Code Analysis Tools for C – Liste eines Herstellers
- Static Source Code Analysis Tools – Liste des CERT Coordination Centers (CERT)
- Source Code Security Analyzers – Liste des National Institute of Standards and Technology (NIST)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Static Analysis in Xcode. Apple, abgerufen am 3. September 2009.
- ↑ Codyze: Static Code Analysis. Fraunhofer AISEC, abgerufen am 29. Juli 2020.
- ↑ PMD - Browse /pmd/5.0.0 at SourceForge.net. Abgerufen am 9. Dezember 2012.
- ↑ Patrick Cousot: The Role of Abstract Interpretation in Formal Methods. IEEE International Conference on Software Engineering and Formal Methods, 2007, abgerufen am 8. November 2010.
- ↑ Simian Features
- ↑ Boris Baldassari: SQuORE: a new approach to software project assessment. (Seite nicht mehr abrufbar, festgestellt im April 2019. Suche in Webarchiven) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis. (PDF) International Conference on Software and Systems Engineering and their Applications, November 2012, Paris, France.
- ↑ SAST Code Security Advisor für ABAP. SAST Team, AKQUINET, abgerufen am 10. Januar 2019.
- ↑ ABAP Code Audits auf Knopfdruck. Virtual Forge, abgerufen am 26. Januar 2016.
- ↑ Testwell CTC++ Product description. Verifysoft GmbH, abgerufen am 10. Mai 2020.
- ↑ Testwell CTC++ Product description. Verifysoft GmbH, abgerufen am 10. Mai 2020.
- ↑ Masters Thesis (PDF; 1,7 MB)
- ↑ SIOS. Abgerufen am 22. November 2021.
- ↑ Xanitizer Feature-Übersicht ( des vom 19. August 2014 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ eslint.org
- ↑ jsonlint.com
- ↑ jscs.info