Especifica??o e monitoramento din?mico da pol?tica de tratamento de exce??es

Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-01-12T13:24:40Z No. of bitstreams: 1 JoilsonVidalAbrantes_DISSERT.pdf: 2404682 bytes, checksum: d60333810463c26554d8e41bfe6683fb (MD5) === Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 201...

Full description

Bibliographic Details
Main Author: Abrantes, Joilson Vidal
Other Authors: 02727172400
Language:Portuguese
Published: PROGRAMA DE P?S-GRADUA??O EM SISTEMAS E COMPUTA??O 2017
Subjects:
Online Access:https://repositorio.ufrn.br/jspui/handle/123456789/21652
Description
Summary:Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-01-12T13:24:40Z No. of bitstreams: 1 JoilsonVidalAbrantes_DISSERT.pdf: 2404682 bytes, checksum: d60333810463c26554d8e41bfe6683fb (MD5) === Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2017-01-16T15:05:25Z (GMT) No. of bitstreams: 1 JoilsonVidalAbrantes_DISSERT.pdf: 2404682 bytes, checksum: d60333810463c26554d8e41bfe6683fb (MD5) === Made available in DSpace on 2017-01-16T15:05:25Z (GMT). No. of bitstreams: 1 JoilsonVidalAbrantes_DISSERT.pdf: 2404682 bytes, checksum: d60333810463c26554d8e41bfe6683fb (MD5) Previous issue date: 2016-02-25 === A pol?tica de tratamento de exce??es de um sistema compreende o conjunto de regras de design que especificam o comportamento e tratamento das condi??es excepcionais, ou seja, define como as exce??es devem ser manuseadas e disparadas. Essa pol?tica geralmente n?o ? documentada e fica definida implicitamente pelo arquiteto do sistema. Por essa raz?o os desenvolvedores podem pensar que apenas inserindo blocos try-cach em todos locais onde exce??es podem potencialmente ser lan?adas est?o lidando adequadamente com as condi??es excepcionais de um sistema. Por?m este comportamento pode transformar o tratamento das condi??es excepcionais em uma generaliza??o do mecanismo "goto", tornando o programa mais complexo e menos confi?vel. Este trabalho prop?e uma linguagem espec?fica de dom?nio, chamada ECL (Exception Contract Language) para especificar a pol?tica de tratamento de exce??es e uma ferramenta de monitoramento em tempo de execu??o que verifica dinamicamente a pol?tica de tratamento de exce??es. Essa ferramenta ? chamada de DAEH (Dynamic Analysis of Exception Handling e ? implementada na forma de uma biblioteca de aspectos, que pode ser adicionada a uma aplica??o Java sem a necessidade de alterar o c?digo fonte da mesma. Esta abordagem foi aplicada a dois sistemas WEB, a quatro vers?es do framework JUnit e a uma aplicatica??o m?vel. Os resultados indicam que esta abordagem pode ser usada para expressar e automaticamente verificar a pol?tica de tratamento de exce??es de sistemas, e, consequentemente apoiar o desenvolvimento de sistemas Java mais robustos. === The exception handling policy of a system comprises the set of design rules that specify its exception handling behavior how exceptions should be handled and thrown. Such policy is usually undocumented and implicitly defined by the system architect. For that reason, the developers may think that by just sprinkling the with catch-blocks in all places where exceptions may potentially be released they are adequately dealing with the exceptional conditions of a system. This lack of information may turn the exception handling into a generalized "goto"mechanism making the program more complex and less reliable. This work proposes a domain - specific language called ECL (Exception Contract Language) to specify the exception handling policy and a runtime monitoring tool which dynamically checks thise policy. This tool is called DAEH (Dynamic Analysis Of Exception Handling). It is implemented in the form of an aspect library, which can added to any Java system without the need to change the application source code. We applied this approach to two large-scale WEB systems and to the a set of versions to the well-known JUnit framework and a mobile application. The results indicate that this approach can be used to express and automatically check the exception handling policy of a system, and consequently support the development of more robust Java systems and more robust.