www.mikrocontroller.net

Forum: PC-Programmierung Tool zur statischen Codeanalyse


Autor: z0ttel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

das Thema ist hier evtl. ein wenig OT, aber ich haben keinen besseren
Bereich gefunden.

Ich bin auf der Suche nach einem Tool zur statischen Analyse von C-
Sourcecode. Der Einfachheit halber hier eine kleine Übersicht über den
Umfang:
- Analyse von C-Sourcecode
- Aufruf über Kommandozeile (zwecks Einbindung im makefile)
- Ausgabe in Datei(en)
- das Tool sollte Freeware sein (ob open-source oder nicht ist mir
egal)
- OS: Windows / Dos
- optional: Generierung von Metriken

Ich kenne zB PC-Lint und PR QA-C, welche aber beide kommerziell sind.
Bei meiner Web-Recherche bin ich dann  noch auf 'splint' gestossen,
welches allerdings (zumindest in der W32-Variante) nicht mit der
Ausgabe in Dateien klarkommt.

Für den Fall, dass jemand noch ein Tool weiss, was in den Rahmen passt,
wäre ich über einen Tip sehr dankbar.

Gruß,
z0ttel

Autor: ejd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die letzten 4 Buchstaben von 2 der 3 genannten Werkzeugen tun es.

Der Papa von den Tools nennt sich 'lint' :) Ist zwar etwas älter,
müsste aber geeignet sein. Was genau willst Du denn analysieren?

mit freundlichen Grooves,

ejd

P.S.: Lint ist ein command-line-tool.

Autor: z0ttel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Danke für die Antwort. Ich dachte bis jetzt, das lint ein reines *nix
Tool ist.

Wo finde ich das Tool im Web? Wenn ich nach irgendwas mit lint und
source suche, lande ich bei splint...

cu
z0ttel

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei sourceforge gibts unter dem stichwort lint mehreres

Autor: z0ttel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tobi,

wenn ich bei Sourceforge 'lint' als Suchbegriff verwende, bekomme ich
genau 9 Treffer, von denen gerade mal 6 Files released haben. Von diesen
2 bezieht sich kein Projekt auf C, also bringt mich das nicht wirklich
weiter.

Greetz,
z0ttel

Autor: ejd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es scheint tatsächlich so zu sein, dass lint etwas in Vergessenheit
geriet. Hast Du schon versucht, splint unter windows neu zu
compilieren?

mit freundlichen Grooves,

ejd

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@zottel
sorry, hatte nicht geguckt, ob die schon dateien released haben. hatte
nur gesehen, dass da auch ich glaub 2 projekte bezüglich c waren

Autor: z0ttel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ejd: jaein ;)

Die aktuelle Version von Splint (3.1.1) habe ich unter Windows noch
nicht kompiliert bekommen. Das Feature, dass die Ausgaben in Dateien
umgeleitet werden scheint auch neu zu sein, da die Version 3.0.1.6-2
dieses noch nicht hatte (die habe ich schon neu kompiliert).

Ich habe mir allerdings mal ganz grob die Sourcen von Splint 3.1.1
angesehen und festgestellt, dass die Ausgabe von normalen Nachrichten
und Warnungen wohl noch garnicht implementiert ist :(

Tja, jetzt könnte ich mir noch die neuesten CVS-Sourcen ziehen und
hoffen, dass sich jemand bereits an dem Thema zu schaffen gemacht
hat...

cu
z0ttel

Autor: Helge Dietert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist mit Cygwin (cygwin.com)? Dort ist das schon fertig als Paket!

Autor: z0ttel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ja, splint gibts auch für Windows als fertiges ausführbare Datei --
der Haken ist, dass in der Version nicht alle Funktionen so ablaufen
wie beschrieben.

Und da alle Varianten auf denselben Sourcecode zurücklaufen, denke ich,
dass die Cygwinvariante ebenfalls nicht funktionieren wird.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.