Busca avançada
Ano de início
Entree

Um metamodelo para apoiar a formalização de convenções de codificação

Processo: 18/11129-8
Linha de fomento:Bolsas no Brasil - Mestrado
Vigência (Início): 01 de janeiro de 2019
Situação:Interrompido
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Metodologia e Técnicas da Computação
Pesquisador responsável:Leonardo Montecchi
Beneficiário:Elder de Oliveira Rodrigues Júnior
Instituição-sede: Instituto de Computação (IC). Universidade Estadual de Campinas (UNICAMP). Campinas , SP, Brasil
Bolsa(s) vinculada(s):19/06799-7 - Formalização de convenções de codificação para sistemas críticos, BE.EP.MS
Assunto(s):Desenvolvimento de software   Erro (falhas computacionais)   Análise estatística de dados   Codificação de programa

Resumo

As convenções de codificação fazem parte de qualquer processo estruturado de desenvolvimento de software. Elas podem ser estabelecidas por vários motivos, desde a melhoria da legibilidade do código até a prevenção da introdução de falhas de segurança. Como muitos outros artefatos no processo de desenvolvimento, as convenções de codificação vêm na forma de documentos textuais escritos em linguagem natural, possivelmente com exemplos de código. Argumentou-se que as diretrizes de codificação existentes na forma atual oferecem benefícios limitados, devido à dificuldade de serem realmente gerenciadas e aplicadas. Este projeto investigará a formalização de padrões de codificação usando técnicas de Engenharia Dirigida por Modelos (Model-Driven Engineering, MDE). Após uma análise inicial dos trabalhos relacionados, as regras dos padrões de codificação existentes serão analisadas e selecionadas para serem usadas como referência na definição da linguagem e uma para avaliar a abordagem. O principal resultado do projeto será um metamodelo (ou seja, sintaxe abstrata de uma linguagem) capaz de descrever formalmente tais regras de codificação. A linguagem desenvolvida será avaliada usando-a para formalizar regras a partir de convenções de codificação existentes, com foco especial em convenções para confiabilidade e segurança. A possibilidade de formalizar padrões de codificação abrirá vários benefícios, por exemplo, os padrões industriais podem incluir definições formais de regras de codificação impostas 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 tais regras e sobre a criação de representações gráficas ou textuais de convenções de codificação, com base na linguagem que será definida neste projeto. (AU)