Hooray, I found the bug
João Filipe Vieira Nadais · Open Repository of the University of Porto (University of Porto) · 2016
O processo de debugging tem sido um processo que ao longo dos tempos tem causado diversas dores de cabeça a muitos programadores. Algumas vezes acontece que o erro é encontrado numa fase muito tardia do projeto, o que torna a correção deste um processo custoso. Outras vezes, uma função não contempla todos os casos que seria necessário, e as ferramentas de debugging vão indicar o problema em partes relacionadas, por considerarem que a função foi executada com sucesso. Certas ferramentas como o Crowbar dão-nos, a partir de um conjunto de casos de teste, a possibilidade de ter uma perceção mais visual do projeto que está a ser analisado, bem como a probabilidade de encontrar o erro em certas partes do código. Tendo como base algoritmos que primam pela eficiência em projetos de elevada escala, como o Spectrum-based fault localization, e estando integrado no IDE, é possível ao utilizador ter uma nova abordagem ao problema de localização de falhas. No entanto, até à data ainda não é possível comprovar o verdadeiro impacto de ter uma ferramenta deste tipo na experiência geral do utilizador. Assim, um estudo foi realizado para comparar não só o facto de haver, ou não, uma melhoria da performance dos utilizadores em localizar falhas, assim como a pertinência de ter tal ferramenta integrada num IDE, a facilidade com que conseguiu utilizar a ferramenta e limitações sentidas ao usar o IDE em específico, enquanto que no caso oposto (sem ferramenta) pretendeu-se avaliar qual a abordagem utilizada pelo programador para encontrar o erro, dificuldade que teve no mesmo. Comparando estas duas diferentes experiências com um número relevante de casos em cada uma, será possível tirar conclusões sobre se de facto ferramentas como o Crowbar tornam os utilizadores melhores.