Verbesserung von Code-Qualität mit Hilfe von neuronalen Netzen

Aus SDQ-Institutsseminar
Vortragende(r) Florentin Kirsten
Vortragstyp Masterarbeit
Betreuer(in) Robert Heinrich
Termin Fr 7. Februar 2020
Vortragsmodus
Kurzfassung Diese Arbeit untersucht unterschiedliche Ansätze zum Detektieren und Verbessern von Problemen im Code, um die Codequalität zu steigern. Die meisten verwandten Ansätze beschreiben die Vorverarbeitung des Codes, um eine passende Repräsentation mit geeignetem Vokabular zu erhalten, nur lückenhaft. Des Weiteren werden selten Gründe für bestimmte Vorverarbeitungsschritte angeführt. Zusätzlich bleibt es unklar, wie neuronale Netzarchitekturen mit verschiedenen Repräsentationen abschneiden. Diese Arbeit soll diese Wissenslücken schließen. Basierend auf den verschiedenen Codekomponenten, werden verschiedene Kategorien für die Modellierung des Vokabulars erstellt. Die Auswirkungen jedes Modellierungschrittes werden evaluiert. Des Weiteren werden verschiedene Coderepräsentationen darauf getestet, in wie weit neuronale Netze Fehler in diesen Code detektieren können. Die "Sate IV Juliet Test Suite" wird als Datensatz zur Evaluation verwendet da dieser gut gepflegt und deutlich beschriftet ist. Des Weiteren kann er auf viele verschiedene Arten angewandt und vorverarbeitet werden.

Die neuronalen Netze werden auf ihre Fertigkeit zur binären und Mehrklassen-Klassifizierung getestet. Diese Art der Evaluierung konnte in keiner verwandten Arbeit festgestellt werden. Zusätzlich werden die verschiedenen AST und sequenziellen Code-Repräsentationen mit den jeweiligen neuronalen Netzarchitekturen evaluiert. Die unterschiedlichen Schritte zur Modellierung des Vokabulars, werden ebenfalls auf diese beiden Code-Repräsentationen angewendet. Abschließend wird eine geeignete Repräsentation, Netzarchitektur und Modellierung des Vokabulars empfohlen.