English

CIn - Centro de Informática UFPE




Eventos Relacionados

Defesa de Dissertação de Mestrado Nº 1.287: "An Exploratory Study on Exception Handling Bugs"

O aluno Felipe Ebert irá defender seu trabalho no dia 02/08 na Sala A14 Início: 02/08/2013 às 10:00 Término: 02/08/2013 às 12:00 Local: Sala A14

Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº 1.287

Aluno: Felipe Ebert
Orientador: Prof. Fernando José Castor de Lima Filho
Título: An Exploratory Study on Exception Handling Bugs
Data: 02/08/2013
Hora/Local: 10:00h – Sala A14
Banca Examinadora:
Prof. Marcelo Bezerra d'Amorim  ( CIn / UFPE)
Prof. Roberta de Souza Coelho ( DIMAp / UFRN)
Prof. Fernando José Castor de Lima Filho   (CIn / UFPE )

RESUMO:

Several studies argue that exception handling code has usually poor quality and that it is commonly neglected by developers. Moreover, it is said to be the least understood, documented, and tested part of the implementation of a system. In spite of this scenario, there are very few studies that analyze the actual exception handling bugs that occur in real software systems and no study that attempts to understands developers’ perceptions about these bugs.
In this work, we present an exploratory study on exception handling bugs that employs two complementary approaches: a survey with 154 developers and an analysis of 220 bugs from the repositories of Eclipse and Tomcat. Respondents of our survey believe that exception handling bugs are more easily fixed than other kinds of bugs. There is also a significant difference in the opinion of the respondents pertaining to the quality of the exception handling code: more experienced developers tend to believe that it is worse.
Analysis of the repositories of Eclipse and Tomcat revealed conflicting results. The fix time for exception handling bugs in
Eclipse is significantly shorter than for other bugs. However, exception handling bugs have a significantly greater number of
discussion messages than non-exception handling bugs. On the other hand, for Tomcat, we could not find a significant difference
for fix time and exception handling bugs have significantly less discussion messages than other bugs.
Moreover, we discovered that bug reports describing bugs stemming from overly general catch blocks, a well-known bad smell in programs that use exceptions, are rare, even though there are many opportunities for them to occur. In addition, empty catch blocks are not only prevalent, as previously reported in the literature, but also commonly used as part of bug fixes, including fixes for exception handling bugs. Furthermore, we found very few bug reports whose causes are empty catch blocks, although developers often mention them as causes of bugs they have fixed in the past.

Palavras-chave: Exception Handling; Bugs; Survey; Repository Mining.
-----------------------------------------------------------------------------------------------------------------
Título: Um estudo exploratório sobre bugs de tratamento de exceções
 
Vários estudos afirmam que o código de tratamento de exceções em geral tem baixa qualidade e que é geralmente negligenciado por desenvolvedores. Além disso, acredita-se que essa parte da implementação de um sistema é a menos compreendida, documentada e testada. Apesar desse cenário, existem poucos estudos que analisam bugs de tratamento de exceções que ocorrem em sistemas de software reais e nenhum estudo que tente entender a percepção dos desenvolvedores sobre esses bugs. 
Neste trabalho, apresentamos um estudo exploratório sobre bugs de tratamento de exceções baseado em duas abordagens complementares: uma pesquisa com 154 desenvolvedores e uma análise de 220 bugs dos repositórios do Eclipse e Tomcat. Os desenvolvedores de nossa pesquisa acreditam que bugs de tratamento de exceções são mais facilmente corrigidos do que outros tipos de bugs. Há também uma diferença significativa na opinião dos desenvolvedores sobre a qualidade do código de tratamento de exceções: os desenvolvedores mais experientes tendem a acreditar que é pior.
A análise dos repositórios do Eclipse e Tomcat revelou resultados conflitantes. O tempo de correção dos bugs de tratamento de exceções do Eclipse é ignificativamente menor do que o de outros tipos de bugs. Entretanto, os bugs de tratamento de exceções têm um número significativamente maior de comentários do que os bugs que não são de tratamento de exceções. Por outro lado, para o Tomcat, não conseguimos achar uma diferença significativa para o tempo de correção dos bugs e os bugs de tratamento de exceções tem um número significativamente menor de comentários do que os outros tipos de bugs.
Além disso, descobrimos que os bugs decorrentes de blocos catch genéricos, um defeito bem conhecido em programas que usam exceções, são raros, embora existam várias oportunidades para que eles ocorram. Além disso, blocos catch vazios não são só prevalentes, como previamente relatado na literatura, mas também geralmente usados como correções dos bugs, inclusive para bugs de tratamento de exceções.  Também achamos poucos bugs reportados em que as causas deles são blocos catch vazios, embora desenvolvedores frequentemente mencionem eles como causas de bugs que já corrigiram no passado.
 
 Palavras-chave: Tratamento de Exceções; Bugs; Questionário; Mineração de Repositórios.
  • © Centro de Informática UFPE - Todos os direitos reservados
    Tel +55 81 2126.8430 - Cidade Universitária - 50740-560 - Recife/PE
Plano4 Consultoria Web