Dissertação

Program Synthesis with Constraint Solving for the OutSystems Language EVALUATED

Síntese de programas é o problema de gerar automaticamente implementações concretas de programas a partir de especificações de alto nível que definem a intenção do utilizador. OutSystems é uma plataforma low-code para desenvolvimento rápido de aplicações e integração simples com sistemas já existentes, com recurso a programação visual ou textual. Neste trabalho, focamo-nos no lado da programação textual. Abordamos o problema de sintetizar expressões OutSystems em um ambiente onde as especificações são fornecidas na forma de exemplos de entrada-saída, com foco em expressões que manipulam dados dos tipos inteiro e texto. Fazemos um estudo do estado da arte em síntese de programas e implementamos dois sintetizadores baseados em componentes e numa arquitectura de síntese inductiva guiada a oráculos. Ambos os sintetizadores aplicam uma mistura de satisfação de restrições com procura enumerativa básica, diferindo um do outro na quantidade de trabalho que colocam na fase de satisfação de restrições. Ambos os sintetizadores são aferidos e comparados com o SyPet num conjunto de problemas do mundo real fornecidos pela OutSystems, demonstrando resultados interessantes para programas até tamanho 4.
Síntese de Programas, Síntese Baseada em Componentes, Satisfação de Restrições, Satisfação Módulo Teorias

Junho 7, 2019, 10:30

Documentos da dissertação ainda não disponíveis publicamente

Orientação

ORIENTADOR

Maria Inês Camarate de Campos Lynce de Faria

Departamento de Engenharia Informática (DEI)

Professor Associado

ORIENTADOR

Miguel Monteiro Ventura

OutSystems

Lead Software Engineer