Entwicklung bzw. agentenbasierte Migration eines Werkzeuges zur Messung der Designqualität von Java Software.


Hintergrund: In der Literatur finden sich eine ganze Menge an Entwurfsprinzipien (z.B. Information Hiding Principle, Open-Closed Principle, Single Responsibility Principle). Um die Einhaltung dieser Prinzipien in einem Softwareprojekt sicherzustellen, bedarf es Überprüfungswerkzeuge. Design Best Practices können helfen, das Ausmaß der Einhaltung von Entwurfsprinzipien zu messen. Beispiele für solche Design Best Practices sind avoidPublicFields, useInterfacesIfPossible oder avoidDuplicatesInSiblings. Am Institut für Wirtschaftsinformatik wurde das Werkzeug MUSE (Perl) implementiert, das ~70 Design Best Practices realisiert. Die systematische Analyse des Entwurfs wird iun der Zukunft im Kontext des agentischen Software Engineerings ein wesentlicher Baustein zur Sicherstellung und Verbesserung des Entwurfs sein.

Ziel der Arbeit: Ziel der Arbeit ist die Implementierung des Werkzeuges DIVA (Design Principle Inferred Violation Analysis) in Python unter Verwendung der von Understand zur Verfügung gestellten Python-Bibliothek für die Symbolinformationen eines Projektes. Die Arbeit könnte auch so ausgerichtet werden, dass die Automatisierung der Migration mit Hilfe von Agentensystemen (z.B. Claude Code oder Codex) im Fokus steht.

Aufgaben:

  • Auswahl jener Design Best Practices, die portiert werden sollen
  • Entwicklung eines des DIVA  Werkzeuges für die Analyse von Java Projekten bzw. automatische Migration mit Hilfe von Claude Code oder Codex.
  • Integration der Analyseergebnisse in SonarQube
  • Validierung des entwickelten Prototyps hinsichtlich Performance.

Erwartete Ergebnisse:

  • DIVA Analysewerkzeug
  • Beurteilung der Eignung des entwickelten Werkzeuges
  • Optional: Beurteilung der automatischen Migration mit Hilfe von Claude Code oder Codex.

Betreuung: Reinhold Plösch

DIVA – Ein Werkzeug zur Messung von objekt-orientierten Entwurfsprinzipien