Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação

Detalhes bibliográficos
Autor(a) principal: Carvalho, Luciano Augusto Fernandes
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082013-153713/
Resumo: O mecanismo de tratamento de exceções disponível em linguagens orientadas a objetos está sendo cada vez mais utilizado e representa cerca de 8% das linhas de código em programas escritos com linguagens de terceira geração, de acordo com algumas pesquisas. No entanto, este mecanismo está entre os menos compreendido pelos desenvolvedores e menos testado. A dificuldade de testar exceções aumenta na fase de teste de integração, porque exceções lançadas em um determinado nível e não tratadas podem subir na hierarquia de chamada. O uso de aspectos também pode introduzir novos tipos de defeitos, como por exemplo um adendo pode inserir lançamentos de exceções no programa sem que exista algum tratamento previsto para elas. Este trabalho apresenta uma proposta para testes de integração estrutural de fluxos de exceções de programas Java e AspectJ. Isto é feito propondo-se alterações na representação do fluxo de exceção no grafo de fluxo de controle integrado e propondo-se novos critérios baseados no fluxo de exceção. Além disso, essas propostas foram implementadas e geraram uma extensão da ferramenta chamada Ja-BUTi/AJ. Para avaliar a proposta deste trabalho, um estudo de caso e um experimento formal foram conduzidos. O estudo de caso teve como objetivo validar a extensão da JaBUTi/AJ desenvolvida e fazer uma avaliação inicial do custo de aplicação dos critérios propostos. O experimento formal realizou uma comparação entre as ferramentas JaBUTi/AJ e VITTAE no contexto do teste do fluxo de exceções. Ambos os estudos são apresentados e discutidos nesta dissertação
id USP_ac9904cab71ac2348e471b062a31cef8
oai_identifier_str oai:teses.usp.br:tde-23082013-153713
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliaçãoStructural test of exception handling on AO programs: representation, criteria and evaluationException handlingExperimento formalFormal experimentIntegration testingOriented programming objects/aspectsProgramação orientada a objetos/aspectosStructural testingTeste de integraçãoTeste estruturalTratamento de exceçõesO mecanismo de tratamento de exceções disponível em linguagens orientadas a objetos está sendo cada vez mais utilizado e representa cerca de 8% das linhas de código em programas escritos com linguagens de terceira geração, de acordo com algumas pesquisas. No entanto, este mecanismo está entre os menos compreendido pelos desenvolvedores e menos testado. A dificuldade de testar exceções aumenta na fase de teste de integração, porque exceções lançadas em um determinado nível e não tratadas podem subir na hierarquia de chamada. O uso de aspectos também pode introduzir novos tipos de defeitos, como por exemplo um adendo pode inserir lançamentos de exceções no programa sem que exista algum tratamento previsto para elas. Este trabalho apresenta uma proposta para testes de integração estrutural de fluxos de exceções de programas Java e AspectJ. Isto é feito propondo-se alterações na representação do fluxo de exceção no grafo de fluxo de controle integrado e propondo-se novos critérios baseados no fluxo de exceção. Além disso, essas propostas foram implementadas e geraram uma extensão da ferramenta chamada Ja-BUTi/AJ. Para avaliar a proposta deste trabalho, um estudo de caso e um experimento formal foram conduzidos. O estudo de caso teve como objetivo validar a extensão da JaBUTi/AJ desenvolvida e fazer uma avaliação inicial do custo de aplicação dos critérios propostos. O experimento formal realizou uma comparação entre as ferramentas JaBUTi/AJ e VITTAE no contexto do teste do fluxo de exceções. Ambos os estudos são apresentados e discutidos nesta dissertaçãoException handling mechanisms available in object-oriented languages have become increasingly used and account for about 8% of the lines of code in modern programs according to some empirical researches. Yet, this mechanism is among the least understood by programmers and the less tested. The difficulty of testing exceptions increases in the phase of integration testing (e.g. inter-class testing) because exceptions raised on a certain level and not handled can flow through the call hierarchy. Using aspects also cause other types of errors, e.g. an advice can insert exceptions not foreseen by the base program. This paper presents a proposal for structural integration testing of exception flows of Java and AspectJ programs. This is done by proposing changes to the classic control ow graph and by proposing new criteria based on the exception ow. Moreover, these proposals have been implemented in a tool named JaBUTi/AJ. To evaluate the proposal of this work, a case study and a formal experiment have been conducted. The case study had the objective of validating the JaBUTi/AJ extension developed and making a preliminary assessment of the cost to use the tool. The formal experiment made a comparison between the tools JaBUTi/AJ and VITTAE in the context of exception flow test. Both studies are presented and discussed in this dissertationBiblioteca Digitais de Teses e Dissertações da USPMasiero, Paulo CesarCarvalho, Luciano Augusto Fernandes2013-06-06info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082013-153713/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2016-07-28T16:10:36Zoai:teses.usp.br:tde-23082013-153713Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212016-07-28T16:10:36Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
Structural test of exception handling on AO programs: representation, criteria and evaluation
title Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
spellingShingle Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
Carvalho, Luciano Augusto Fernandes
Exception handling
Experimento formal
Formal experiment
Integration testing
Oriented programming objects/aspects
Programação orientada a objetos/aspectos
Structural testing
Teste de integração
Teste estrutural
Tratamento de exceções
title_short Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
title_full Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
title_fullStr Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
title_full_unstemmed Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
title_sort Teste estrutural de tratamento de exceções em programas OA: representação, critérios e avaliação
author Carvalho, Luciano Augusto Fernandes
author_facet Carvalho, Luciano Augusto Fernandes
author_role author
dc.contributor.none.fl_str_mv Masiero, Paulo Cesar
dc.contributor.author.fl_str_mv Carvalho, Luciano Augusto Fernandes
dc.subject.por.fl_str_mv Exception handling
Experimento formal
Formal experiment
Integration testing
Oriented programming objects/aspects
Programação orientada a objetos/aspectos
Structural testing
Teste de integração
Teste estrutural
Tratamento de exceções
topic Exception handling
Experimento formal
Formal experiment
Integration testing
Oriented programming objects/aspects
Programação orientada a objetos/aspectos
Structural testing
Teste de integração
Teste estrutural
Tratamento de exceções
description O mecanismo de tratamento de exceções disponível em linguagens orientadas a objetos está sendo cada vez mais utilizado e representa cerca de 8% das linhas de código em programas escritos com linguagens de terceira geração, de acordo com algumas pesquisas. No entanto, este mecanismo está entre os menos compreendido pelos desenvolvedores e menos testado. A dificuldade de testar exceções aumenta na fase de teste de integração, porque exceções lançadas em um determinado nível e não tratadas podem subir na hierarquia de chamada. O uso de aspectos também pode introduzir novos tipos de defeitos, como por exemplo um adendo pode inserir lançamentos de exceções no programa sem que exista algum tratamento previsto para elas. Este trabalho apresenta uma proposta para testes de integração estrutural de fluxos de exceções de programas Java e AspectJ. Isto é feito propondo-se alterações na representação do fluxo de exceção no grafo de fluxo de controle integrado e propondo-se novos critérios baseados no fluxo de exceção. Além disso, essas propostas foram implementadas e geraram uma extensão da ferramenta chamada Ja-BUTi/AJ. Para avaliar a proposta deste trabalho, um estudo de caso e um experimento formal foram conduzidos. O estudo de caso teve como objetivo validar a extensão da JaBUTi/AJ desenvolvida e fazer uma avaliação inicial do custo de aplicação dos critérios propostos. O experimento formal realizou uma comparação entre as ferramentas JaBUTi/AJ e VITTAE no contexto do teste do fluxo de exceções. Ambos os estudos são apresentados e discutidos nesta dissertação
publishDate 2013
dc.date.none.fl_str_mv 2013-06-06
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.uri.fl_str_mv http://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082013-153713/
url http://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082013-153713/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1815257369336086528