Codeanalyse, Schnittstellenanalyse
-
Hallo, ich habe folgende Aufgabe.
Aus einem recht komplexen SW-Projekt soll ein
Reengineering gemacht werden. Gibt es Tools,
in die man C-Source lädt, und die dann Eingangs- und
Ausgangsvariablen auflisten, oder die Verschachtelungstiefe
der Funktionsaufrufe grafisch darstellen kann ?Gibt es sowas, für wenig bis kein Geld ?
Gruß
markybee
-
gute/teure IDEs (code::blocks vielleicht?) koennten sowas koennen.
such nach "refactoring".
evtl kommst du mit diversen UML spielereien auch zum ziel.auf konkrete tipps waere ich aber auch scharf.
-
Suchst du sowas wie Doxygen?
-
Was ist Doxygen ?
Also ich habe viele C-Files, die alle zusammengehören.
Es sind im Prinzip viele verschiedene Module, die
"irgendwie interagieren". Ich weiss nur nicht wie ?
Welches Modul hat welche Schnittstellen ? Welches sind
Eingänge, was sind Ausgänge des Moduls ? Wo an anderen
Stellen, wird dieses Modul aufgerufen ? Wie sieht praktisch
die SW-Struktur bzw. Hierarchie aus ? Das kann ich so nur
sehr mühsam durch manuelle Codeanalyse herausfinden ?
Ich brauche irgendwas, das die einzelnen C-Source parst,
und das dann grafisch darstellt, was Eingangsvariablen sind,
was Ausgangsvariablen sind, bzw. was lokale Variablen sind.
Ausserdem wäre die Abhängigkeit der Files untereinander bzw.
die Hierarchie nicht schlecht, um eben da besser durchzublicken.
Gibt es sowas, oder wie machen das die Profis. Ich bin auf
den Gebiet Anfänger. Brauche aber sowas für ein Projekt im Studium.
Da haben viele Leute schon dran rumprogrammiert. Das Ding ist
ständig gewachsen. Aber es gibt keinerlei Doku dazu. Um überhaupt
erst mal durchzublicken, was wann wo gemacht wird, bräuchte ich
ein Analysetool, das mir autmatisch die Abhängigkeiten aufzeigt.
Gibt es sowas ?
-
-
naja, dokumentation ist es eher nicht, oder?
ich hab etwas gegoogelt und codesurfer von grammatech finde ich von den features her ziemlich ansprechend.
-
Naja, irgendwo schon. Du bekommst auch, wenn du keine Dokumentationskommentare schreibst, deine Funktionsauflistungen in HTML, wobei eben jeweils zu allen interessanten Sachen verlinkt wird: Deklaration/Definition, Deklarationen benutzter Typen, aufrufende Funktionen, aufgerufene Funktionen etc. Ich denke, dass das sehr gut geeignet ist für das, was markybee vorhat.
-
doxygen ist aber nicht unbedingt fuer richtige codeanalyse geeignet, in dem sinne dass man fehler finden soll und wirklich tief in den code vorstossen kann (wie haengt alles zusammen, welche variablen veraendern sich warum und was wird dadurch veraendert).
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
c.rackwitz schrieb:
doxygen ist aber nicht unbedingt fuer richtige codeanalyse geeignet, in dem sinne dass man fehler finden soll und wirklich tief in den code vorstossen kann (wie haengt alles zusammen, welche variablen veraendern sich warum und was wird dadurch veraendert).
Stimmt, aber nach sowas hat er ja auch nicht gefragt :p
-
ich finds nur echt traurig, dass die analysesoftware, die mir am besten gefallen hat (von den features her), mehrere tausend dollar kostet und im ed2k netz nirgends als raubkopie zu finden ist.
naja, ich hab jetzt erstmal PLT scheme installiert und werde bald mal D ausprobieren.