Analisando o Tratamento de Exceções em Aplicações Android
Tratamento de exceções; plataforma Android, survey, estudo exploratório.
Aplicações Android tem se tornado cada vez mais populares; e no mesmo ritmo em que cresce o número de aplicações disponíveis, também cresce o número de usuários afetados pelos crashes de tais aplicações. Para poder lidar com tais condições excepcionais, o código para lançamento e captura de exceções não é uma parte opcional mas uma parte fundamental de tais aplicações. Porém, o que se tem observado é que o código projetado para tratar estas condições excepcionais pode muitas vezes ser a causa de crashes (e.g., exceções não capturadas). Até o momento nenhum estudo investigou as principais características do código de tratamento de exceções de aplicações. Este trabalho apresenta um conjunto de estudos complementares para melhor entender as características do código de TE de aplicações Android assim como identificar a visão dos desenvolvedores a respeito destas características. Neste trabalho foram realizados três estudos: (i) um estudo exploratório onde foram inspecionados o código de TE de 15 aplicações Android populares (o que no total correspondeu a 3490 blocos try-catch-finally); e (ii) dois estudos qualitativos baseados em técnicas de Grounded Theory, nos quais surveys foram aplicados a desenvolvedores e especialistas Android para levantar a opinião dos mesmos sobre boas e más praticas no desenvolvimento do tratamento de exceções no ambiente Android. Durante estes estudos observamos um grande número de exceções sendo silenciada e poucas aplicações enviando informações de exceção para servidores remotos. Ambas características foram consideradas má práticas pelos especialistas que podem impactar negativamente na robustez destas aplicações.