Visualisierung von 3D-Metriken - Alternative zu seerene / Software Diagnostics Efficiency Platform

seerene (früher „Efficiency Platform“ von Software Diagnostics) ist ein Tool, das

  • berechnet Metriken aus dem Quellcode
  • zeigt 3 Metriken gleichzeitig in einer 3D-Ansicht an (Fläche, Höhe, Farbe)

Hier ist ein Screenshot:

Screenshot der Effizienzplattform

Ich suche nach einem Tool, das nur letzteres tut (Visualisierung).

Das Werkzeug müsste

  • Nehmen Sie die Eingabe in einem wohldefinierten Format (CSV, XML oder ähnliches, ist mir egal), idealerweise 4 Spalten + Kopfzeile. Die 4 Spalten sind der Name des Elements (z. B. Klassen-/Dateiname) plus 3 Metriken (z. B. Codezeilen, Komplexität, Anzahl der Entwickler).
  • Konvertieren Sie diese Zahlen in 3D-Boxen, in denen die Fläche gemäß dem quadratischen Baumalgorithmus berechnet wird
  • Achsen tauschen können
  • Bieten Sie eine 3D-Navigation an

Das Werkzeug

  • muss auf Windows 7 SP1 x64 (oder höher, wenn möglich) laufen
  • kann kommerziell sein, wenn ja, kostet es weniger als 500 €
  • muss eine kostenlose Testversion haben ("Efficiency Platform" hatte das nicht. Eine Testversion zu bekommen war für ~4k€ möglich, was einfach zu teuer war)

Ich habe versucht:

  • Verwenden von Famix Generator , um ein Elchmodell zu erstellen und dieses dann mit CodeCity in 3D umzuwandeln . Leider scheitert dies bereits bei einem einfachen Hello World Programm mit der Fehlermeldung

    Dump-Ursache: Unbehandelte Ausnahme: Importfehler: unbekannte EMOF-Klasse „FAMIX.FileAnchor“

  • SharpMetrics Workbench Community Edition, aber nur für C# und ich suche nach einer allgemeineren Lösung

Antworten (2)

Ich würde vorschlagen, einen Blick auf Python und seine vielen Visualisierungsbibliotheken wie matplotlib , plot.ly oder VPython zu werfen .

  • Eingabe - Python wird mit guten CSV- und XML-Parsing-Bibliotheken geliefert
  • Squarify - Hier gibt es eine Implementierung des Algorithmus
    • Dadurch werden Ihre Bereiche angeordnet und Sie können die von Ihnen gewählte Metrik als Höhe hinzufügen
    • Ich würde vorschlagen, dass Sie mit der niedrigsten Ebene Ihrer Struktur beginnen und sich in jede Gruppierung auf höherer Ebene einordnen müssen, bevor Sie die nächsthöhere Ebene einteilen.
  • Achsenauswahl möglich Ja - Sie können Ihre eigenen Achsen nach Bedarf auswählen
  • 3D-Navigation – Alle oben genannten Bibliotheken bieten ein gewisses Maß an Navigation, und die ersten beiden bieten außerdem standardmäßig eine Reihe von Ausgabeoptionen zum Speichern Ihrer Datenansichten.
  • Laufen unter Windows 7/64 SP1 oder höher: Die oben genannten laufen auf fast allem, von einem Raspberry Pi über Windows XP..10, OS-X, Linux bis hin zu Supercomputer-Clustern.
  • Kann kommerziell sein, aber < 500 € - alle oben genannten sind für die kommerzielle Nutzung verfügbar und bei 0,00 € sind sie definitiv < 500 €
  • muss eine kostenlose Testversion haben - Keine Testversion, nur die Vollversion kostenlos .

Sieht so aus, als ob Code Charta ( https://github.com/MaibornWolff/codecharta ) das sein könnte, wonach Sie suchen. Es ist kostenlos und Open Source und die Analysekomponente ist unabhängig von der HTML5-Visualisierung, die eine JSON-Eingabedatei verwendet und die navigierbare 3D-Baumkarte erstellt.

Schauen Sie sich die Online-Demo hier an https://maibornwolff.github.io/codecharta/visualization/app/

Vollständige Offenlegung: Ich arbeite für das Unternehmen, das das Tool als Open Source entwickelt hat.