Propostas para Dissertação

Mestrados no Departamento de Informática

Consultar ficha completa de uma proposta de dissertação

proponente: Daniela da Cruz, Nuno Oliveira
instituição/empresa: Checkmarx
tema/título: Abstract Syntax Tree Transformer
área científica: Source code analysis
local: Braga
curso de mestrado: Mestrado Integrado em Engenharia Informática
A key step in code analysis via language processing is to obtain an intermediate representation of
the code. An abstract syntax tree (AST) usually serves that purpose, or it is the initial point for
constructing richer models of the code. However, most of the times, constructing correct ASTs
require global context information (that is usually not known/complete at that time) and complex
operations (which turn the code within parsers or visitors - as in AnTLR4 - hard to read, maintain
or evolve. A possible solution for this is to construct ASTs with local information only and in a
later step transform it. The proposed project involves the study of techniques and patterns for tree transformation, along
with the creation of a domain-specific language (DSL) - based on Fluent Interfaces by Martin Fowler
- of transformation patterns. This way, by applying a sentence S of that language to an AST T, would create an AST T\\\',
corresponding to T after transforming it with all the elements of S. Moreover, the language must be extensible, consistent and well documented for the rapid addition of
new relevant patterns.