13 ago 2020
14:00 Defesa de Mestrado Integralmente a distância
Tema
A Metamodel to Support the Formalization of Coding Conventions
Aluno
Elder de Oliveira Rodrigues Júnior
Orientador / Docente
Leonardo Montecchi
Breve resumo
Convenções de codificação fazem parte de qualquer processo estruturado de desenvolvimento de software e podem ser estabelecidas por vários motivos, desde a melhoria da legibilidade do código até evitar a introdução de falhas de segurança. Como muitos outros artefatos no processo de desenvolvimento, as convenções de codificação podem estar na forma de documentos textuais escritos em linguagem natural, possivelmente com exemplos de código. Quando convenções de códigos estão descritas em forma textual, elas oferecem benefícios limitados, devido à dificuldade de realmente serem gerenciadas e aplicadas. Este projeto investiga a formalização de convenções de codificação usando abordagens de Model-Driven Engineering. O principal resultado deste projeto é um metamodelo (ou seja, uma sintaxe abstrata de uma linguagem) capaz de descrever regras de codificação de códigos existentes. Além disso, transformações de modelo foram desenvolvidas para transformar as regras formalizadas em verificadores capazes de detectar violações de tais regras no código-fonte. A possibilidade de formalizar convenções de codificação abrirá vários benefícios, por exemplo, padrões industriais podem incluir definições formais de regras de codificação e os desenvolvedores de ferramentas podem expor o conjunto de regras que sua ferramenta é capaz de verificar. Além disso, uma descrição formal da convenção de codificação permitirá pesquisas adicionais sobre a geração automatizada de verificadores para essas regras e a criação de representações gráficas ou textuais das convenções de codificação, com base na linguagem definida neste projeto.
Banca examinadora
Titulares:
Leonardo Montecchi IC/UNICAMP
Ricardo Terra Nunes Bueno Villela DCC/UFLA
Breno Bernard Nicolau de França IC/UNICAMP
Daniel Lucrédio DC/UFSCAR
Suplentes:
Cecília Mary Fischer Rubira IC/UNICAMP
Baldoino Fonseca dos Santos Neto IC/UFAL