Kitzelmann, EmanuelHölldobler, Steffen2020-08-212020-08-212011978-3-88579-415-8https://dl.gi.de/handle/20.500.12116/33760Induktive Programmsynthese beschäftigt sich mit der automatisierten Konstruktion von Computer-Programmen auf Basis von unvollständigen Spezifikationen wie z.B. Eingabe/Ausgabe-Beispielen. Es lassen sich zwei komplementäre Ansätze unterscheiden: Im effizienten aber eingeschränkten analytischen Ansatz wird eine rekursive Funktionsdefinition generiert, indem rekurrente Strukturen zwischen den einzelnen Beispielen gefunden und generalisiert werden. Im mächtigeren aber ineffizienten erzeuge-und-teste Ansatz werden unabhängig von den bereitgestellten Beispielen solange Programme einer Klasse generiert, bis ein Programm gefunden wurde das alle Beispiele korrekt berechnet. Hauptbeitrag dieser Arbeit ist der neue Algorithmus IGOR2 zur induktiven Synthese funktionaler Programme, der den analytischen Ansatz generalisiert und mit Suche in einem Programmraum kombiniert, um einen guten Kompromiss zwischen Expressivität und Effizienz zu erreichen. IGOR2 ist terminierend und garantiert Korrektheit synthetisierter Programme bzgl. gegebener Beispiele. Experimente zeigen, dass IGOR2 nicht-triviale Programme in verschiedenen Domänen induzieren kann und meist effizienter ist als andere vergleichbare Systeme.deEin kombinierter analytischer und suchbasierter Ansatz zur induktiven Synthese funktionaler Programme1617-5468