Hooray, I found the bug

Debugging has been a process that is causing various headaches to a large of programmers along time.Sometimes, the error is found at a very late stage of development, leading to added high costs for its correction. Other times, a function is not contemplating all the cases it should, specially some...

ver descrição completa

Detalhes bibliográficos
Autor principal: João Filipe Vieira Nadais (author)
Formato: masterThesis
Idioma:eng
Publicado em: 2016
Assuntos:
Texto completo:https://hdl.handle.net/10216/85732
País:Portugal
Oai:oai:repositorio-aberto.up.pt:10216/85732
Descrição
Resumo:Debugging has been a process that is causing various headaches to a large of programmers along time.Sometimes, the error is found at a very late stage of development, leading to added high costs for its correction. Other times, a function is not contemplating all the cases it should, specially some that are not easily perceptible, which lead to an indication by debugging tools that the fault is on related parts, since this function is seen as executed successfully. Some tools like Crowbar give us, from a set of tests, the possibility of having a more visual perception of the project that is being analyzed, as well as the probability of finding the error in certain parts of the code. Having its base on algorithms that strive for efficiency, such as Spectrum-based fault localization, and being integrated in the IDE, the user has the possibility of having a new approach to the fault localization problem. However, so far it is still not possible to state the real impact that having this kind of tool in the general user experience. Therefore, a user study was done to compare not only the fact of having or not a performance improvement by the users on locating faults, but also the importance of having this tool integrated in the IDE, the ease of use of the tool and finally obstacles that the user had due to the need of using a specific IDE. For those who will test the opposite case (the usual process with no tool), we aim to evaluate the approach used by the developer to find the error as well as the difficulty on finding it. By comparing these two experiences, with a relevant number of cases in each, it will be possible to conclude wether or not tools like Crowbar make users better.