XINFORMAÇÕES SOBRE DIREITOS AUTORAIS
As obras disponibilizadas nesta Biblioteca Digital foram publicadas sob expressa autorização dos respectivos autores, em conformidade com a Lei 9610/98.
A consulta aos textos, permitida por seus respectivos autores, é livre, bem como a impressão de trechos ou de um exemplar completo exclusivamente para uso próprio. Não são permitidas a impressão e a reprodução de obras completas com qualquer outra finalidade que não o uso próprio de quem imprime.
A reprodução de pequenos trechos, na forma de citações em trabalhos de terceiros que não o próprio autor do texto consultado,é permitida, na medida justificada para a compreeensão da citação e mediante a informação, junto à citação, do nome do autor do texto original, bem como da fonte da pesquisa.
A violação de direitos autorais é passível de sanções civis e penais.
As obras disponibilizadas nesta Biblioteca Digital foram publicadas sob expressa autorização dos respectivos autores, em conformidade com a Lei 9610/98.
A consulta aos textos, permitida por seus respectivos autores, é livre, bem como a impressão de trechos ou de um exemplar completo exclusivamente para uso próprio. Não são permitidas a impressão e a reprodução de obras completas com qualquer outra finalidade que não o uso próprio de quem imprime.
A reprodução de pequenos trechos, na forma de citações em trabalhos de terceiros que não o próprio autor do texto consultado,é permitida, na medida justificada para a compreeensão da citação e mediante a informação, junto à citação, do nome do autor do texto original, bem como da fonte da pesquisa.
A violação de direitos autorais é passível de sanções civis e penais.
Coleção Digital
Título: ANALISANDO O FLUXO DE EXCEÇÕES EM PROGRAMAS ORIENTADOS A ASPECTOS Autor: ROBERTA DE SOUZA COELHO
Instituição: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO - PUC-RIO
Colaborador(es):
ARNDT VON STAA - ORIENTADOR
Nº do Conteudo: 12968
Catalogação: 15/01/2009 Liberação: 15/01/2009 Idioma(s): INGLÊS - ESTADOS UNIDOS
Tipo: TEXTO Subtipo: TESE
Natureza: PUBLICAÇÃO ACADÊMICA
Nota: Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio.
Referência [pt]: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=12968&idi=1
Referência [en]: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=12968&idi=2
Referência DOI: https://doi.org/10.17771/PUCRio.acad.12968
Resumo:
Título: ANALISANDO O FLUXO DE EXCEÇÕES EM PROGRAMAS ORIENTADOS A ASPECTOS Autor: ROBERTA DE SOUZA COELHO
Nº do Conteudo: 12968
Catalogação: 15/01/2009 Liberação: 15/01/2009 Idioma(s): INGLÊS - ESTADOS UNIDOS
Tipo: TEXTO Subtipo: TESE
Natureza: PUBLICAÇÃO ACADÊMICA
Nota: Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio.
Referência [pt]: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=12968&idi=1
Referência [en]: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=12968&idi=2
Referência DOI: https://doi.org/10.17771/PUCRio.acad.12968
Resumo:
Os mecanismos de tratamento de exceções têm o objetivo de
aumentar a
robustez e a modularidade do software na medida em que
promovem a separação entre
o código dedicado ao tratamento de erros e código associado
ao fluxo normal de
execução do programa. Estes permitem a detecção de erros e a
associação de respostas
adequadas aos mesmos, através da execução de códigos de
recuperação que são
geralmente encapsulados em tratadores (do inglês: handlers).
A importância dos
mecanismos de tratamento de exceção é atestada pelo fato
destes fazerem parte da
maioria das linguagens de programação mais utilizadas na
atualidade: Java, C++ e C#.
Na última década a programação orientada a aspectos (POA)
vem sendo
amplamente utilizada como forma de modularizar interesses
que se encontram
espalhados nas decomposições primarias de um sistema (e.g.,
funções, classes,
métodos) em uma abstração chamada aspecto. Os aspectos
utilizam construções
especificas para promover modificações externas nos
programas, incluindo
comportamentos adicionais em pontos específicos do código.
POA vem sido utilizado
com o objetivo de aumentar a modularidade do código de
tratamento de exceção e de
interesses transversais igualmente importantes tais como:
persistência, distribuição,
segurança, controle de transações e monitoramento.
De acordo com alguns estudos empíricos, POA tem sido usado
com sucesso com
o objetivo de promover o tratamento de erro modular em
vários cenários de tratamento
de exceções. Porém, é sabido que mecanismos de programação
flexíveis (e.g., herança
e polimorfismo) podem ter um efeito negativo no tratamento
de exceções. Se por
um lado os mecanismos de composição POA baseados na inversão
de controle
podem trazer um novo leque de possibilidades de projeto,
promovendo em
muitas circunstâncias uma maior estabilidade do projeto (do
inglês: design
stability), eles podem perder seu valor se ele torna o
tratamento de exceções
propenso a erros (do inglês: error-prone). Refinamento
aspectuais do
comportamento do código base, podem por um lado promover a
robustez do
sistema em situações onde exceções são lançadas ou
contribuir para os
problemas típicos de tratamento de exceções mal projetados
tais como: (i)
exceções não capturadas (do inglês: uncaught exceptions);
(ii) exceções
capturadas por tratadores genéricos (do inglês: exception
subsumption) (i.e.,
exceções capturadas por um tratador cujo argumento é um
supertipo da exceção
a ser tratada); (iii) e exceções capturadas por tratadores
errados (do inglês:
unintended handler action).
Infelizmente, não existe nenhuma avaliação sistemática dos
efeitos positivos e
negativos da programação orientada a aspectos na robustez do
código de tratamento de
exceções. Os trabalhos de pesquisa descritos na literatura
têm se limitado a analisar os
impactos dos aspectos no fluxo normal de execução do
programa. Além disso, a
maioria dos estudos empíricos não vai além de discussões
sobre os ganhos de
modularidade e as ciladas associadas à utilização de
aspectos - para o tratamento de
exceções e de outros interesses transversais. Por exemplo,
estes estudos não levam em
consideração as conseqüências inerentes as novas exceções e
tratadores que são
adicionadas ao código base junto com a nova funcionalidade
adicionada pelos aspectos.
Esta tese descreve o primeiro estudo sistemático que avalia
quantitativamente o
impacto da composição aspectual no fluxo excepcional de
programas. Este estudo se
baseou na utilização de uma ferramenta de análise do fluxo
de exceções chamada
SAFE (do inglês: Static Analysis for the Flow of Exceptions)
desenvolvida ao longo
deste trabalho e na inspeção manual do código de tratamento
de exceções de um
conjunto de sistemas para os quais a versão Java e AspectJ
estavam disponíveis. A
ferramenta SAFE foi construída com base no framework SOOT
para a análise e
otimização de bytecode. A partir de uma representação do
programa construída a partir
do bytecode do código base combinado com os aspectos (do
inglê