Millionen Menschen müssen rohe Daten mühsam vorbearbeiten, bevor sie mit den Daten weiterarbeiten können. Diese Arbeit wird meist mühsam von Hand und/oder in Tools wie Microsoft Excel gemacht. Programming by Example (PBE) - ein Teilfeld der Programm Synthese - ermöglicht natürliche Benutzer-Interaktions-Mechanismen. Benutzer können ihre Absicht für String-Manipulation mittels Eingabe-Ausgabe-Beispielen angeben.
Programm Synthese, Programming by Example, Data Wrangling
Die Vision unserer Arbeit ist die Macht von Software-Programmierung zugänglicher für nicht Programmierer zu machen.
Diese "Demokratisierung" der Programmierung erfolgt mittels ein Systems,
welches einen natürlichen und intuitiven Spezifikationsmechanismus für die Nutzer-Absicht erlaubt.
Somit können sogar nicht Programmierer entsprechende Aufgaben durchführen.
Konkrete Produkt- und Report-Ziele sind:
Unser Kunde hat schon eine Plattform für Daten-Verarbeitung an der FHNW entwickeln lassen, die auch in der Produktion verwendet wird. Wir müssen diese Plattform um ein PBE-System erweitern.
Unser PBE-System übertrifft die Baseline auf jedem Test-Set. Mittels PBE muss ein Nutzer nur noch 1.06% (Baseline 2.98%) der Ausgaben von Hand angeben. Die restlichen Ausgaben werden automatisch befüllt. Ausserdem konvergiert der Synthese-Algorithmus rapide und braucht einen Bruchteil einer Sekunde um ein Programm zu synthetisieren. Des Weiteren zeigen wir wie erweiterbar unser System ist für unternehmensspezifische Anforderungen ist, indem wir das PBE-System um die Übersetzung zwischen Industrienormen erweitern.
Unser PBE-System wurde in die Data-Wrangling-Plattform des Kunden integriert. Unser Report dient als Hilfsmittel für dritte, die ein eigenes PBE-System bauen wollen und die Machbarkeit dafür überprüfen möchten.