Defesa de Proposta de Dissertação de Mestrado - Normando Gomes de Carvalho Júnior, em 09/09, às 14hs

postado em 3 de set de 2015 11:48 por Franklin de Souza Ramalho
Candidato: Normando Gomes de Carvalho Júnior
Título do trabalho:  Uma Abordagem Para Auxiliar A Compreensão De Programas Baseada Em Design By Contract
Orientador(es):
Tiago Massoni

Data: 09/09/2015
Horário: 14hs
Local: Auditório do SPLAB

Banca examinadora:
Tiago Massoni (Orientador), Prof. Adalberto Cajueiro (UFCG), Prof. João Arthur Brunet (UFCG)

Resumo: Compreender programas é uma atividade difícil porque cada domínio possui requisitos específicos. Em alguns casos, o que pode dificultar ainda mais essa atividade são fatores como a necessidade de compreender programas que foram escritos por outras pessoas, o escopo limitado das ferramentas existentes, a inutilização destas pelos programadores e a falta de testes. Existem abordagens sistemáticas para compreensão que utilizam checagens estáticas e dinâmicas. As abordagens dinâmicas são utilizadas por sua efetividade, pois basta executar um teste para vê o resultado. No entanto, as abordagens falham ao permitir informações de alto nível sobre o comportamento que possam ser verificadas. Todavia, estes tipos de informações são capturadas efetivamente ao definir especificações conhecidas como contratos. Contudo, não existe uma abordagem sistemática de compreensão que utilize contratos. Sendo assim, os desenvolvedores necessitam de uma abordagem de compreensão efetiva que diminua os custos na manutenção e que reduzam os riscos de erros, caso o entendimento do programa seja incompleto. Neste trabalho, propomos uma abordagem sistematizada a fim de priorizar a escrita de contratos em programas C# utilizando os princípios de Design by Contract por meio da biblioteca Code Contracts. A avaliação será realizada de modo qualitativo e quantitativo em ambientes de desenvolvimento de software. Esperamos como resultado uma abordagem sistemática para facilitar a compreensão de programas e a adoção do Design by Contract por parte dos desenvolvedores.
Comments