ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção
| Ano de defesa: | 2016 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Não Informado pela instituição
|
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | http://www.repositorio.ufc.br/handle/riufc/24751 |
Resumo: | Exception handling is a common error recovery technique employed to improve software robustness. However, studies have reported that exception handling is commonly neglected by developers and is the least understood and documented part of a software project. The lack of documentation and difficulty in understanding the exception handling design can lead developers to violate important design decisions, triggering an erosion process in the exception handling design. Architectural conformance checking provides means to control the architectural erosion by periodically checking if the actual architecture is consistent with the planned one. Nevertheless, available approaches do not provide a proper support for exception handling conformance checking. To fulfill this gap, this work proposes ArCatch: an architectural conformance checking solution to deal with the exception handling design erosion. ArCatch provides: (i) a declarative domain-specific language for expressing design constraints regarding exception handling; and (ii) a design rule checker to automatically verify the exception handling conformance. The usefulness and effectiveness of the approach was evaluated in an evolution scenario composed by 10 versions of an existing web-based Java system. Each version was checked against the same set of exception handling design rules. Based on the results and the feedback given by the system’s software architect, the ArCatch proved useful and effective in the identification of existing exception handling erosion problems and locating its causes in the source code. |
| id |
UFC-7_a01f61b2afd738450f97698f46bef017 |
|---|---|
| oai_identifier_str |
oai:repositorio.ufc.br:riufc/24751 |
| network_acronym_str |
UFC-7 |
| network_name_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| repository_id_str |
|
| spelling |
Meneses Filho, Juarez de LimaAndrade, Rossana Maria de CastroRocha, Lincoln Souza2017-08-17T11:14:12Z2017-08-17T11:14:12Z2016MENESES FILHO, Juarez de Lima. ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção. 2016. 81 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2016.http://www.repositorio.ufc.br/handle/riufc/24751Exception handling is a common error recovery technique employed to improve software robustness. However, studies have reported that exception handling is commonly neglected by developers and is the least understood and documented part of a software project. The lack of documentation and difficulty in understanding the exception handling design can lead developers to violate important design decisions, triggering an erosion process in the exception handling design. Architectural conformance checking provides means to control the architectural erosion by periodically checking if the actual architecture is consistent with the planned one. Nevertheless, available approaches do not provide a proper support for exception handling conformance checking. To fulfill this gap, this work proposes ArCatch: an architectural conformance checking solution to deal with the exception handling design erosion. ArCatch provides: (i) a declarative domain-specific language for expressing design constraints regarding exception handling; and (ii) a design rule checker to automatically verify the exception handling conformance. The usefulness and effectiveness of the approach was evaluated in an evolution scenario composed by 10 versions of an existing web-based Java system. Each version was checked against the same set of exception handling design rules. Based on the results and the feedback given by the system’s software architect, the ArCatch proved useful and effective in the identification of existing exception handling erosion problems and locating its causes in the source code.O tratamento de exceções é uma técnica de recuperação de erros tipicamente empregada na melhoria da robustez de software. No entanto, estudos recentes relatam que o tratamento de exceção é comumente negligenciado pelos desenvolvedores e é a parte menos compreendida e documentada de um projeto de software. A falta de documentação e a difculdade em compreender o design do tratamento de exceção pode levar os desenvolvedores a violarem decisões de design importantes, desencadeando um processo de erosão no design do tratamento de exceção. A verifcação de conformidade arquitetural fornece meios para controlar a erosão arquitetural, verifcando periodicamente se a arquitetura real mantem-se consistente com a arquitetura planejada. No entanto, as abordagens disponíveis não fornecem um suporte adequado para verificação da conformidade do tratamento de exceção. Para preencher essa lacuna, neste trabalho é proposta ArCatch: uma solução de verificação de conformidade arquitetural para lidar com a erosão do design do tratamento de exceção. ArCatch fornece: (i) uma linguagem específica de domínio declarativa para expressar restrições de design relativas ao tratamento de exceção; e (ii) um verificador de regras de design para verificar automaticamente a conformidade do tratamento de exceção. Foi avaliada a utilidade e a eficácia da abordagem proposta em um cenário de evolução composto por 10 versões de um sistema Java web existente. Cada versão foi verificada contra o mesmo conjunto de regras de design de tratamento de exceção. Com base nos resultados e no feedback fornecido pelo arquiteto de software do sistema, a ArCatch provou ser útil e eficaz na identifcação de problemas de erosão do tratamento de exceção existentes e localizar suas causas no código-fonte.Design do tratamento de exceçãoErosão do tratamento de exceçãoVerificação de conformidade arquiteturalArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceçãoArCatch: a solution for static check of architectural conformity of exception handlinginfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFCinfo:eu-repo/semantics/openAccessORIGINAL2016_dis_jlmenesesfilho.pdf2016_dis_jlmenesesfilho.pdfapplication/pdf1440689http://repositorio.ufc.br/bitstream/riufc/24751/1/2016_dis_jlmenesesfilho.pdfb5d68cda9ed0ed25ac65cb0ac5aacb9aMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://repositorio.ufc.br/bitstream/riufc/24751/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52riufc/247512020-07-06 14:55:32.08oai:repositorio.ufc.br:riufc/24751Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2020-07-06T17:55:32Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false |
| dc.title.pt_BR.fl_str_mv |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção |
| dc.title.en.pt_BR.fl_str_mv |
ArCatch: a solution for static check of architectural conformity of exception handling |
| title |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção |
| spellingShingle |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção Meneses Filho, Juarez de Lima Design do tratamento de exceção Erosão do tratamento de exceção Verificação de conformidade arquitetural |
| title_short |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção |
| title_full |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção |
| title_fullStr |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção |
| title_full_unstemmed |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção |
| title_sort |
ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção |
| author |
Meneses Filho, Juarez de Lima |
| author_facet |
Meneses Filho, Juarez de Lima |
| author_role |
author |
| dc.contributor.co-advisor.none.fl_str_mv |
Andrade, Rossana Maria de Castro |
| dc.contributor.author.fl_str_mv |
Meneses Filho, Juarez de Lima |
| dc.contributor.advisor1.fl_str_mv |
Rocha, Lincoln Souza |
| contributor_str_mv |
Rocha, Lincoln Souza |
| dc.subject.por.fl_str_mv |
Design do tratamento de exceção Erosão do tratamento de exceção Verificação de conformidade arquitetural |
| topic |
Design do tratamento de exceção Erosão do tratamento de exceção Verificação de conformidade arquitetural |
| description |
Exception handling is a common error recovery technique employed to improve software robustness. However, studies have reported that exception handling is commonly neglected by developers and is the least understood and documented part of a software project. The lack of documentation and difficulty in understanding the exception handling design can lead developers to violate important design decisions, triggering an erosion process in the exception handling design. Architectural conformance checking provides means to control the architectural erosion by periodically checking if the actual architecture is consistent with the planned one. Nevertheless, available approaches do not provide a proper support for exception handling conformance checking. To fulfill this gap, this work proposes ArCatch: an architectural conformance checking solution to deal with the exception handling design erosion. ArCatch provides: (i) a declarative domain-specific language for expressing design constraints regarding exception handling; and (ii) a design rule checker to automatically verify the exception handling conformance. The usefulness and effectiveness of the approach was evaluated in an evolution scenario composed by 10 versions of an existing web-based Java system. Each version was checked against the same set of exception handling design rules. Based on the results and the feedback given by the system’s software architect, the ArCatch proved useful and effective in the identification of existing exception handling erosion problems and locating its causes in the source code. |
| publishDate |
2016 |
| dc.date.issued.fl_str_mv |
2016 |
| dc.date.accessioned.fl_str_mv |
2017-08-17T11:14:12Z |
| dc.date.available.fl_str_mv |
2017-08-17T11:14:12Z |
| 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 |
MENESES FILHO, Juarez de Lima. ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção. 2016. 81 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2016. |
| dc.identifier.uri.fl_str_mv |
http://www.repositorio.ufc.br/handle/riufc/24751 |
| identifier_str_mv |
MENESES FILHO, Juarez de Lima. ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção. 2016. 81 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2016. |
| url |
http://www.repositorio.ufc.br/handle/riufc/24751 |
| 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.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Federal do Ceará (UFC) instname:Universidade Federal do Ceará (UFC) instacron:UFC |
| instname_str |
Universidade Federal do Ceará (UFC) |
| instacron_str |
UFC |
| institution |
UFC |
| reponame_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| collection |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| bitstream.url.fl_str_mv |
http://repositorio.ufc.br/bitstream/riufc/24751/1/2016_dis_jlmenesesfilho.pdf http://repositorio.ufc.br/bitstream/riufc/24751/2/license.txt |
| bitstream.checksum.fl_str_mv |
b5d68cda9ed0ed25ac65cb0ac5aacb9a 8a4605be74aa9ea9d79846c1fba20a33 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC) |
| repository.mail.fl_str_mv |
bu@ufc.br || repositorio@ufc.br |
| _version_ |
1847793032803385344 |