Die strukturierte Analyse und Transformation von Python-Quellcode ist oft komplex und erfordert in der Regel fortgeschrittene Programmierkenntnisse.
Zusätzlich mangelt es an benutzerfreundlichen Tools, die Python-Code in ein standardisiertes, maschinenlesbares Format wie XML konvertieren, was für strukturierte Abfragen und fortgeschrittene Analysen unerlässlich ist. Traditionelle Tools bieten oft nur begrenzten Einblick oder sind für Nicht-Experten zu komplex.
Dieses Projekt führte einen neuartigen Ansatz zur Konvertierung von Python-Quellcode in ein XML-Format ein, wobei das Abstract Syntax Tree (AST)-Modul von Python als Grundlage diente. Ein wichtiges Ergebnis der Arbeit war die Entwicklung einer Schnittstelle namens PythonML, die es ermöglicht, Python-Code in einem strukturierten XML-Format darzustellen – selbst für Benutzer ohne tiefgehende Python-Expertise.
Zur Analyse der XML-Struktur wurde das Tool FNQUERY integriert. FNQUERY ermöglicht XPath-ähnliche Abfragen, um die Struktur des Codes zu inspizieren. Mit diesem Tool wurden fortgeschrittene Strukturanalysen ermöglicht, wie zum Beispiel:
Durch die Kombination von PythonML und FNQUERY lieferte das Projekt ein leistungsstarkes Analyse-Tool, das einen echten Mehrwert für Entwickler und Forscher in den Bereichen Codequalität, Wartbarkeit und Refactoring bietet.