ExMinerSOF: Minerando InformaçoÞes Excepcionais do StackOverflow
Stackoverflow, stack trace, plugin Eclipse, tratamento de exceções, API.
Exceções não capturadas não são cenários excepcionais nas aplicações Java atuais. Eles são, na verdade, uma das principais causas de falha das aplicações Java - que podem originar-se de erros de programação (e.g., acesso a referências nulas); falhas no hardware ou em APIs utilizadas.
Essas exceções não capturadas (do inglês: uncaught) resultam em stack traces que são frequentemente usados pelos desenvolvedores como fonte de informações para a depuração. Atualmente, essa informação é frequentemente usada pelos desenvolvedores em mecanismos de busca ou sites de perguntas e respostas (do inglês: Question and Answer - Q&A) para tentar compreender melhor a causa do crash e assim poder resolvê-lo.
Este estudo fez a mineração de stack traces incluídas nas perguntas e respostas do StackOverflow (SOF). O objetivo deste estudo foi: (i) identificar características comuns das stack traces e (ii) investigar como tais informações podem ser usadas para evitar exceções não capturadas durante o desenvolvimento de software.
Neste estudo, 121.253 exceções foram extraídas e analisadas em combinação com inspeções de postagens do SOF. Este estudo fornece insights sobre como as informações incorporadas nas stack traces podem ser usadas para descobrir exceções potencialmente acionadas por métodos de APIs, mas que não possuem documentação.
Também é proposta a ferramenta ExMinerSOF, que alerta o desenvolvedor sobre as exceções que podem ser potencialmente sinalizadas por um método de API, mas que não fazem parte da documentação. Essas informações são descobertas aplicando uma estratégia de mineração apresentada neste trabalho. Ao fazê-lo, a ferramenta permite que o desenvolvedor evite falhas com base em falhas relatadas por outros desenvolvedores.