Especificação e monitoramento dinâmico da política de tratamento de exceções
Autor(a) principal: | |
---|---|
Data de Publicação: | 2016 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFRN |
Texto Completo: | https://repositorio.ufrn.br/jspui/handle/123456789/21652 |
Resumo: | 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. |
id |
UFRN_f849f49e40a928f1dec53404e12b92ad |
---|---|
oai_identifier_str |
oai:https://repositorio.ufrn.br:123456789/21652 |
network_acronym_str |
UFRN |
network_name_str |
Repositório Institucional da UFRN |
repository_id_str |
|
spelling |
Abrantes, Joilson VidalAranha, Eduardo Henrique da SilvaPinto, Felipe Alves PereiraAlmeida, Rodrigo Bonifácio deCoelho, Roberta de Souza2017-01-16T15:05:25Z2017-01-16T15:05:25Z2016-02-25ABRANTES, Joilson Vidal. Especificação e monitoramento dinâmico da política de tratamento de exceções. 2016. 70f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016.https://repositorio.ufrn.br/jspui/handle/123456789/21652A 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.porCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOTratamento de exceçõesMonitoramentoAnálise dinâmicaPolítica de tratamento de exceçõesEspecificação e monitoramento dinâmico da política de tratamento de exceçõesSpecification and dynamic monitoring exception handling policyinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALJoilsonVidalAbrantes_DISSERT.pdfJoilsonVidalAbrantes_DISSERT.pdfapplication/pdf2402253https://repositorio.ufrn.br/bitstream/123456789/21652/1/JoilsonVidalAbrantes_DISSERT.pdf15a49d39ab573006c423043ed6890241MD51TEXTJoilsonVidalAbrantes_DISSERT.pdf.txtJoilsonVidalAbrantes_DISSERT.pdf.txtExtracted texttext/plain117228https://repositorio.ufrn.br/bitstream/123456789/21652/4/JoilsonVidalAbrantes_DISSERT.pdf.txtaa5e3d2e2ebf39b2e13725f9faca39d5MD54THUMBNAILJoilsonVidalAbrantes_DISSERT.pdf.jpgJoilsonVidalAbrantes_DISSERT.pdf.jpgIM Thumbnailimage/jpeg3072https://repositorio.ufrn.br/bitstream/123456789/21652/5/JoilsonVidalAbrantes_DISSERT.pdf.jpg641cb0ae8ca061b443cd17c0b14c066aMD55123456789/216522017-11-03 09:50:33.906oai:https://repositorio.ufrn.br:123456789/21652Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-03T12:50:33Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false |
dc.title.pt_BR.fl_str_mv |
Especificação e monitoramento dinâmico da política de tratamento de exceções |
dc.title.alternative.pt_BR.fl_str_mv |
Specification and dynamic monitoring exception handling policy |
title |
Especificação e monitoramento dinâmico da política de tratamento de exceções |
spellingShingle |
Especificação e monitoramento dinâmico da política de tratamento de exceções Abrantes, Joilson Vidal CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Tratamento de exceções Monitoramento Análise dinâmica Política de tratamento de exceções |
title_short |
Especificação e monitoramento dinâmico da política de tratamento de exceções |
title_full |
Especificação e monitoramento dinâmico da política de tratamento de exceções |
title_fullStr |
Especificação e monitoramento dinâmico da política de tratamento de exceções |
title_full_unstemmed |
Especificação e monitoramento dinâmico da política de tratamento de exceções |
title_sort |
Especificação e monitoramento dinâmico da política de tratamento de exceções |
author |
Abrantes, Joilson Vidal |
author_facet |
Abrantes, Joilson Vidal |
author_role |
author |
dc.contributor.authorID.pt_BR.fl_str_mv |
|
dc.contributor.advisorID.pt_BR.fl_str_mv |
|
dc.contributor.referees1.none.fl_str_mv |
Aranha, Eduardo Henrique da Silva |
dc.contributor.referees1ID.pt_BR.fl_str_mv |
|
dc.contributor.referees2.none.fl_str_mv |
Pinto, Felipe Alves Pereira |
dc.contributor.referees2ID.pt_BR.fl_str_mv |
|
dc.contributor.referees3.none.fl_str_mv |
Almeida, Rodrigo Bonifácio de |
dc.contributor.referees3ID.pt_BR.fl_str_mv |
|
dc.contributor.author.fl_str_mv |
Abrantes, Joilson Vidal |
dc.contributor.advisor1.fl_str_mv |
Coelho, Roberta de Souza |
contributor_str_mv |
Coelho, Roberta de Souza |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
topic |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Tratamento de exceções Monitoramento Análise dinâmica Política de tratamento de exceções |
dc.subject.por.fl_str_mv |
Tratamento de exceções Monitoramento Análise dinâmica Política de tratamento de exceções |
description |
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. |
publishDate |
2016 |
dc.date.issued.fl_str_mv |
2016-02-25 |
dc.date.accessioned.fl_str_mv |
2017-01-16T15:05:25Z |
dc.date.available.fl_str_mv |
2017-01-16T15:05:25Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
ABRANTES, Joilson Vidal. Especificação e monitoramento dinâmico da política de tratamento de exceções. 2016. 70f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufrn.br/jspui/handle/123456789/21652 |
identifier_str_mv |
ABRANTES, Joilson Vidal. Especificação e monitoramento dinâmico da política de tratamento de exceções. 2016. 70f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016. |
url |
https://repositorio.ufrn.br/jspui/handle/123456789/21652 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.program.fl_str_mv |
PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO |
dc.publisher.initials.fl_str_mv |
UFRN |
dc.publisher.country.fl_str_mv |
Brasil |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRN instname:Universidade Federal do Rio Grande do Norte (UFRN) instacron:UFRN |
instname_str |
Universidade Federal do Rio Grande do Norte (UFRN) |
instacron_str |
UFRN |
institution |
UFRN |
reponame_str |
Repositório Institucional da UFRN |
collection |
Repositório Institucional da UFRN |
bitstream.url.fl_str_mv |
https://repositorio.ufrn.br/bitstream/123456789/21652/1/JoilsonVidalAbrantes_DISSERT.pdf https://repositorio.ufrn.br/bitstream/123456789/21652/4/JoilsonVidalAbrantes_DISSERT.pdf.txt https://repositorio.ufrn.br/bitstream/123456789/21652/5/JoilsonVidalAbrantes_DISSERT.pdf.jpg |
bitstream.checksum.fl_str_mv |
15a49d39ab573006c423043ed6890241 aa5e3d2e2ebf39b2e13725f9faca39d5 641cb0ae8ca061b443cd17c0b14c066a |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN) |
repository.mail.fl_str_mv |
|
_version_ |
1802117817794822144 |