Softwareentwickler verlassen sich in der Regel auf Tools wie IDEs, um sichere Software zu entwickeln (d. h. um Fehler zu erkennen oder Vorschläge für eine sichere Lösung einer bestimmten Aufgabe zu erhalten). Mit dem kürzlichen Aufkommen der KI und der Verfügbarkeit einer großen Menge an Softwaredaten wie Github stellt sich natürlich die Frage, ob wir diese zur Unterstützung der Softwareentwicklung anpassen können.
Mit dem Aufkommen von Frameworks wie den Code-Sprachmodellen von Meta/Microsoft und dem Copilot von Github ist klar, dass diese Richtung bereits recht aktiv erforscht wird. Solche Ansätze haben bemerkenswerte Fortschritte sowohl bei der Code-Vervollständigung als auch bei der Fehlererkennung gezeigt. Dennoch behandeln solche Sprachmodelle Code in erster Linie als Text und ignorieren viele semantische Informationen, die in der Programmiersprache und der Domäne kodiert sind.
Die Nichtberücksichtigung dieser Semantik des Codes führt zu unsicheren Codevorschlägen, die im besten Fall gefährlich und im schlimmsten Fall katastrophal sind. Ein großer Teil der Code- und Domänensemantik ist jedoch in alternativen Darstellungen von Programmen verfügbar, z. B. in Kontrollflussgraphen und neuerdings auch in Wissensgraphen, die Code mit natürlichsprachlichen Beschreibungen seines Verhaltens verknüpfen.
In diesem Vortrag werden wir eine Vision für die Zukunft von Code-Sprachmodellen erkunden, die semantisches Bewusstsein aus Wissensgraphen und Software-Tools mit KI-gesteuerten Sprachmodellen, die auf Code trainiert wurden, integrieren.