Navegando por Autor "Sena, Demóstenes Santos de"
Agora exibindo 1 - 2 de 2
- Resultados por página
- Opções de Ordenação
Tese Uma abordagem de apoio à extração da política de tratamento de exceções(2017-02-13) Sena, Demóstenes Santos de; Coelho, Roberta de Souza; Kulesza, Uira; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/9854634275938452; http://lattes.cnpq.br/3949512835562758; Aranha, Eduardo Henrique da Silva; http://lattes.cnpq.br/9520477461031645; Barbosa, Eiji Adachi Medeiros; http://lattes.cnpq.br/8833409749475821; Medeiros Neto, Francisco Dantas de; http://lattes.cnpq.br/5525562330158282; Almeida, Rodrigo Bonifácio de; http://lattes.cnpq.br/0368311142108150Os 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. Alguns estudos empíricos demonstraram que o tratamento inadequado de exceções, consequência da falta da política documentada, é uma possível fonte de defeitos. Por outro lado, devido à natureza implícita dos fluxos de exceções, a identificação e correção dos tratamentos de exceções tornam-se tarefas complexas. Para amenizar os problemas decorrentes do tratamento inadequado devido à falta de documentação do tratamento de exceções, algumas abordagens definiram linguagens de especificação das regras de tratamento com suporte ferramental para auxiliar na definição e checagem das regras. Entretanto, historicamente, as políticas de tratamento de exceções dos sistemas são postergadas ou ignoradas no processo de desenvolvimento. Adicionalmente, nenhuma das abordagens propostas oferece suporte à definição das regras, de forma a auxiliar o arquiteto a extrair as regras a partir da análise de código fonte pré-existente, e este é o objetivo da abordagem apresentada neste trabalho. Para apoiar a execução da abordagem proposta, foi desenvolvida uma ferramenta de análise estática que permite: (i) a coleta dos fluxos excepcionas e das respectivas ações de tratamentos; (ii) a identificação e definição dos agrupamentos, que são os elementos de código que possuem os mesmos comportamentos em relação ao tratamento de exceções; (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 da extração das regras excepcionais a partir do código pré-existente no processo de definição e checagem 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 reportadas pelos arquitetos foram extraídas pelo suporte ferramental, e que os resultados do processo de extração permitiram que novas regras fossem adicionadas pelos arquitetos. Essas regras adicionadas foram as regras não definidas pelos arquitetos e corresponderam à 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.Dissertação Agraphs: definição, implementação e suas ferramentas(Universidade Federal do Rio Grande do Norte, 2006-05-19) Sena, Demóstenes Santos de; Moreira, Anamaria Martins; ; http://lattes.cnpq.br/5861361541278876; ; http://lattes.cnpq.br/3949512835562758; Déharbe, David Boris Paul; ; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4768856U5; Musicante, Martin Alejandro; ; http://lattes.cnpq.br/6034405930958244; Ierusalimschy, Roberto; ; http://lattes.cnpq.br/0427692772445368Programas manipulam informações. Entretanto, as informações são essencialmente abstratas e precisam ser representadas, normalmente por estruturas de dados, permitindo a sua manipulação. Esse trabalho apresenta os AGraphs, um formato de representação e transferência de dados que usa grafos direcionados tipados que permitem a simulação de hiperarestas e de grafos hierárquicos. Associado ao formato AGraphs existe uma biblioteca de manipulação com uma interface simples de ser usada, mas dependente da linguagem. O formato AGraphs foi usado de maneira ad-hoc como formato de representação em algumas ferramentas desenvolvidas na UFRN, e, com a possibilidade de uso em outras aplicações, tornou-se necessária uma definição precisa e o desenvolvimento de ferramentas de suporte. A definição precisa e as ferramentas foram desenvolvidas e são descritas neste trabalho. Finalizando, comparações do formato AGraphs com outros formatos de representação e transferência de dados (ATerms, GDL, GraphML, GraX, GXL e XML) são realizadas. O principal objetivo destas comparações é obter as características significantes e em que conceitos o formato e a biblioteca AGraphs deve amadurecer