THESIS
2010
xi, 46 p. : ill. ; 30 cm
Abstract
Reproducing software failures is important for developers to understand and fix software bugs. Issue tracking systems are prevalent today for bug reporting by users. However, developers may not always be able to reproduce the reported software failures by following these bug reports. A common cause of this problem is due to the missing software configuration details in the bug reports. This thesis proposes an approach to addressing the problem by recovering the missing configuration details. A major challenge of our approach is to deal with the huge number of possible configuration combinations. We observed that many configurations differ slightly. As such, we do not need to restart the application for each configuration. Instead, we can adapt the program state from the memory image of...[
Read more ]
Reproducing software failures is important for developers to understand and fix software bugs. Issue tracking systems are prevalent today for bug reporting by users. However, developers may not always be able to reproduce the reported software failures by following these bug reports. A common cause of this problem is due to the missing software configuration details in the bug reports. This thesis proposes an approach to addressing the problem by recovering the missing configuration details. A major challenge of our approach is to deal with the huge number of possible configuration combinations. We observed that many configurations differ slightly. As such, we do not need to restart the application for each configuration. Instead, we can adapt the program state from the memory image of a previous configuration. We proposed a series of static and dynamic analysis techniques to efficiently identify configurations that are irrelevant to the reported failures. Our evaluation shows that our approach is able to recover missing configuration details, which reproduce real life software failures in projects with more than 400,000 lines of SLOCs
Post a Comment