Dissertação

CUBES: A New Dimension in Query Synthesis From Examples EVALUATED

À medida que a transformação digital ganha velocidade, mais e mais pessoas vêem o seu trabalho dependente de tarefas de manipulação de dados. Um caso particular em que isso acontece são as Plataformas de Desenvolvimento Baixo-Código, que permitem que utilizadores sem experiência em programação desenvolvam soluções digitais rapidamente. No entanto, quando é necessário implementar lógica complexa, por exemplo ao lidar com consultas a bases de dados, essas plataformas podem ainda assim ser demasiado complexas para que um utilizador iniciante tenha sucesso. A solução para este problema é a Síntese de Programas: a tarefa de derivar automaticamente um programa com base numa especificação. Recentemente, muitos avanços foram feitos nesta área. Ainda assim, devido à natureza indecidível do problema, a Síntese de Programas ainda se limita a programas pequenos. Para além disso, as ferramentas atuais não tiram proveito dos aumentos no número de núcleos por processador. Nesta dissertação apresentamos CUBES, um sintetizador paralelo de consultas SQL usando exemplos de entrada-saída. Usamos SQUARES como ponto de partida, e modificamo-lo, estendendo a sua Linguagem Específica de Domínio, mudando a forma como os programas são enumerados e introduzindo novas formas de poda. De seguida, usamos este novo sintetizador, CUBES-SEQ, como um bloco de construção para o desenvolvimento de um sintetizador paralelo de SQL. Exploramos técnicas usadas em Satisfatibilidade Proposicional Paralela e adaptamo-las à Síntese de Programas. Em particular, exploramos abordagens de portfólio e dividir-para-conquistar, que implementamos em CUBES-PORT e CUBES-DC. Por fim, realizamos uma análise do CUBES, comparando-o com o estado da arte anterior.
Síntese de Programas, Síntese Paralelo de Programas, Engenharia Reversa de Consultas, Linguagem de Consulta Estruturada (LCE), Portefólio, Dividir-para-conquistar

novembro 13, 2020, 18:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Vasco Miguel Gomes Nunes Manquinho

Departamento de Engenharia Informática (DEI)

Professor Associado

ORIENTADOR

Miguel Ângelo da Terra Neves

OutSystems

Investigador Sénior