Banca de DEFESA: DEMOSTENES SANTOS DE SENA

Uma banca de DEFESA de DOUTORADO foi cadastrada pelo programa.
DISCENTE : DEMOSTENES SANTOS DE SENA
DATA : 03/02/2017
HORA: 09:00
LOCAL: Auditorio B321 - IMD/CVT
TÍTULO:

Uma Abordagem de Apoio à Extracão, Compreensão e Checagem da Política de Tratamento de Exceções


PALAVRAS-CHAVES:

tratamento de exceções, análise do fluxo excepcional, regras do tratamento de exceções, política de tratamento de exceções, análise estática.


PÁGINAS: 130
RESUMO:

Os mecanismos de tratamento de exceções são recursos fornecidos pelas principais linguagens de programação para auxiliar no desenvolvimento de sistemas robustos. A política de tratamento de exceções corresponde ao conjunto de regras de design do tratamento excepcional e definem os elementos de código (métodos, classes ou pacotes) responsáveis pela sinalização, propagação, captura das exceções e as respectivas ações de tratamento. Historicamente, as políticas de tratamento de exceções dos sistemas são postergadas ou ignoradas no processo de desenvolvimento. Entretanto, estudos empíricos demonstraram que o tratamento inadequado de exceções é uma possível fonte de defeitos. Devido à natureza implícita dos fluxos de exceções, a identificação do tratamento de exceções torna-se uma tarefa complexa. Para amenizar os problemas decorrentes do tratamento inadequado e da falta de compreensão do tratamento de exceções, algumas abordagens propuseram expor graficamente os fluxos excepcionais e outras abordagens definiram linguagens de especificação das regras de tratamento com suporte ferramental para auxiliar na definição e checagem das regras. Porém nenhuma das abordagens propostas oferece suporte ao momento da definição das regras, de forma a auxiliar o arquiteto a extrair as regras a partir da análise de código pré-existente.

Este trabalho apresenta uma proposta para preencher a lacuna existente entre os passos de definição da política e sua compreensão e checagem. Para apoiar a execução da abordagem proposta, foi desenvolvida uma suíte de ferramentas de análise estática que permite: (i) coletar os fluxos excepcionas e as respectivas ações de tratamentos; (ii) a definição dos agrupamentos; (iii) a extração das regras; e, (iv) a checagem das regras e identificação das causas das violações à política. A abordagem é demonstrada em dois estudos empíricos. No primeiro estudo empírico foram analisadas 656 bibliotecas (libs) Java do repositório central Maven com objetivo de extrair e caracterizar a política de tratamento de exceções destas libs. Este estudo revelou que 80,9% das bibliotecas possuem fluxos excepcionais que implementam pelo menos um anti-pattern do tratamento excepcional. O segundo estudo empírico teve como objetivo investigar os benefícios que a extração das regras excepcionais pode ter na compreensão e refinamento da política de tratamento de exceções. Dois sistemas de informação Web (i.e., IProject e SIGAA) foram utilizados neste segundo estudo. Neste estudo pudemos observar que todas as regras extraídas pelo suporte ferramental correspondiam às regras reportadas pelos arquitetos, e que os resultados do processo de extração permitiram que novas regras fossem adicionadas pelos arquitetos. Essas regras adicionadas correspondiam à 57,1% (IProject) e 52,8% (SIGAA/Graduação) das regras da política dos sistemas analisados. O processo de checagem das regras definidas com o apoio da abordagem mostrou que 35,6% e 45,7% dos fluxos excepcionais do IProject e SIGAA/Graduação, respectivamente, violavam alguma das regras de tratamento de exceções.


MEMBROS DA BANCA:
Presidente - 1709820 - ROBERTA DE SOUZA COELHO
Interno - 1671962 - EDUARDO HENRIQUE DA SILVA ARANHA
Interno - 1644456 - UIRA KULESZA
Externo ao Programa - 2274774 - EIJI ADACHI MEDEIROS BARBOSA
Externo à Instituição - FRANCISCO DANTAS DE MEDEIROS NETO - UERN
Externo à Instituição - RODRIGO BONIFÁCIO DE ALMEIDA - UnB
Notícia cadastrada em: 24/01/2017 10:15
SIGAA | Superintendência de Informática - (84) 3215-3148 | Copyright © 2006-2017 - UFRN - sigaa12-producao.info.ufrn.br.sigaa12-producao