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 ?



  • markybee schrieb:

    Was ist Doxygen ?

    www.doxygen.org



  • 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.


Anmelden zum Antworten