SEP 2025

ChatPBE - Interactive Programming By Example Solver

Überblick

Die Studierenden sollen einen Chatbot implementieren, der interaktiv Programming-By-Example Aufgaben löst. Programming-By-Example ist eine Methode, bei der man ein Programm nur durch das Angeben von Eingabe- und Ausgabebeispielen generiert. Der Chatbot soll wie folgt funktionieren: Man gibt für ein gewünschtes Programm Beispielpaare von einer Eingabe und der gewollten Ausgabe an. Der Chatbot antwortet mit einem Programm, das den Beispielen genügt. Es transformiert also jede gegebene Eingabe in die zugehörige Ausgabe. Ist man mit dem Programm zufrieden, so endet der Prozess. Wenn nicht, kann man weitere Beispielpaare angeben und der Prozess wiederholt sich.
Die Programme, die der Chatbot generiert, müssen aus einer gegebenen kontextfreien Grammatik stammen. Die Grammatiken dürfen Programmkonstrukte aus der SMT-LIB verwenden. Diese umfasst Operationen auf Booleans, Bitvektoren, Integern und Strings.

Ansprechpartner

Die Ansprechpartner für das Softwareentwicklungspraktikum sind Eren Keskin und Jakob Tepe.

Technologien

Wir empfehlen, als Programmiersprache C++ zu verwenden. Wir können euch Boilerplate-Code und einen Parser, generiert durch ANTLR, zur Verfügung stellen.

Ressourcen