[pt] Mecanismos de tratamento de exceções são modelos comumente usados em
linguagens de programação para a estruturação do fluxo de execução excepcional
de módulos de software. Tais mecanismos possibilitam a detecção e a sinalização
da ocorrência de exceções, permitindo que módulos de software tomem medidas
corretivas que recuperem o sistema para um estado correto. Estudos recentes
mostram que falhas recorrentes e problemas de desempenho em aplicações de
software estão relacionados à má qualidade do código que implementa o
tratamento de exceções. Os estudos preliminares realizados no contexto desta
dissertação não apenas corroboram esses resultados, como também evidenciam
uma série de outros fatos interessantes que ocorrem durante a evolução de
sistemas de software. Em especial, percebeu-se que é bastante comum nas versões
preliminares de um sistema a implementação de ações de tratamento de exceções
ineficazes. Também se percebeu que pouco (ou nenhum) esforço é realizado em
termos de melhorar o tratamento de exceções durante a evolução do sistema de
software. Os trabalhos recentes que se propõem a auxiliar desenvolvedores de
software a lidar com código de tratamento de exceções falham em auxiliá-los em
uma tarefa primordial: implementar código de tratamento de exceções bem
estruturado desde as primeiras versões de um sistema. Neste contexto, o presente
trabalho propõe um sistema de recomendação capaz de prover exemplos de
código tratando exceções de modo a auxiliar desenvolvedores a implementarem
seu próprio código em suas aplicações. O sistema extrai informações estruturais
do código sob desenvolvimento para buscar por exemplos em um repositório local
a fim de recomendar exemplos de código com contexto parecido ao que o
desenvolvedor está trabalhando. O sistema implementado neste trabalho
recomenda exemplos de código implementados em Java. / [en] Exception handling mechanisms are models commonly used in
programming languages to structure the exceptional execution flow of software
modules. These mechanisms enable the detection and signaling of exception
occurrences, allowing these modules to take corrective actions to recover a
module to a correct state. Recent studies show that recurrent failures and
performance issues in software applications are related to the poor structuring of
exception handling code. The preliminary studies performed in the context of this
dissertation not only confirm these results, but also show other interesting facts
that occur during software evolution. In particular, it was realized that it is often
very common to observe ineffective exception handling actions in the first
releases of a system. It was also realized that little (or no) effort was allocated to
improve the quality of these action during the software evolution. Recent studies
that aim aiding software developers to deal with exception handling elements fail
in assisting them in a crucial task: implementing well-structured exception
handling code since the first release of a system. In this context, this dissertation
proposes a recommender system able to provide code fragments implementing
exception handling code. The proposed strategy aims to assist developers in
implementing their own code in their applications. The system extracts structural
information from the code under development to search for examples in a local
repository in order to recommend code examples that share similar structural
context with the code that the developer is working on. The system implemented
in the context of this dissertation recommends code examples implemented in
Java.
Identifer | oai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:20357 |
Date | 14 September 2012 |
Creators | EIJI ADACHI MEDEIROS BARBOSA |
Contributors | ALESSANDRO FABRICIO GARCIA, ALESSANDRO FABRICIO GARCIA |
Publisher | MAXWELL |
Source Sets | PUC Rio |
Language | Portuguese |
Detected Language | Portuguese |
Type | TEXTO |
Page generated in 0.0019 seconds