Dissertação
Symbolic Execution for OutSystems Logic EVALUATED
O ambiente de desenvolvimento de software das plataformas de low-code como OutSystems estão a revolucionar a forma como as aplicações são desenhadas e implementadas, permitindo entregas mais rápidas com menor esforço de código textual. No entanto, esta conveniência vem muitas vezes acompanhada de desafios acrescidos para garantir a fiabilidade e segurança das aplicações desenvolvidas. Execução simbólica é uma técnica de análise poderosa, capaz de explorar sistematicamente possíveis caminhos de execução para identificar potenciais defeitos e vulnerabilidades. Ainda assim, a aplicação de execução simbólica a OutSystems, que utiliza principalmente uma representação gráfica de alto nível para a construção de lógica, apresenta desafios únicos, particularmente na tradução dessas representações para um formato adequado à análise de execução simbólica. Esta tese introduz o Cymbolizer, uma solução inovadora para este espaço. O Cymbolizer inclui um transpilador que converte a lógica gráfica de OutSystems em código C executável, o que o torna útil para ferramentas de execução simbólica tradicionais como o KLEE. Este transpilador traduz construções essenciais de OutSystems como atribuições, condicionais, ciclos e outras construções lógicas que são cruciais para uma análise execução simbólica. Integrando o Cymbolizer com o KLEE, o projeto não só melhora a detetabilidade de bugs e vulnerabilidades dentro das aplicações OutSystems, mas também fornece um meio para que estes resultados sejam diretamente comunicados aos desenvolvedores de OutSystems através de um formato estruturado que indica a localização dos problemas na lógica OutSystems original.
junho 21, 2024, 10:30
Documentos da dissertação ainda não disponíveis publicamente
Orientação
ORIENTADOR
Vasco Miguel Gomes Nunes Manquinho
Departamento de Engenharia Informática (DEI)
Professor Associado