Design and Development of a Probabilistic Framework for Automatic Software Fault Localization
thesisposted on 2016-07-01, 00:00 authored by Davide Pagano
Despite large investments in different areas of software engineering, many deployed software applications fail at some point. Even though most software applications are tested before they are released to customers, these applications still contain production (or field) functional faults that result in field failures, which have exorbitant cost and sometimes lead to the loss of human lives. Existing automatic debugging approaches are rarely applied to localizing production faults for field failures due to their limitations. The goal of this thesis is therefore to create a novel theoretical foundation that allows stakeholders to predict and localize faults for field failures automatically with a high degree of precision using symptoms only (e.g., the sign of the output value is incorrect) and without instrumenting deployed applications to collect runtime data, thus avoiding the overhead, and without having any tests with oracles to uncover the fault, without performing contrasting successful and failed runs, and without collecting runtime data from field failures. With this theoretical foundation, researchers can collaborate more closely in planning the future of fault localization by expanding each other's results based on probabilistic graphical models as common abstractions.