Publication Type

PhD Dissertation

Version

publishedVersion

Publication Date

7-2017

Abstract

Debugging programs and writing formal specifications are essential but expensive processes to maintain quality and reliability of software systems. Developers often have to debug and create specifications manually, which take a lot of their time and effort. Recently, several automated solutions have been proposed to help developers alleviate the cost of manual labor in the two processes. In particular, fault localization techniques help developer debug by accepting textual information in bug reports or program spectra (i.e., a record of which program elements are executed for each test case). Their output is a ranked list of program elements that are likely to be faulty. Developers then inspect the ranked list from beginning of the ranked list until root causes of the fault are found. On the other hand, many systems have no or lack of high quality formal specifications. To deal with the issue, researchers have proposed techniques to automatically infer specifications in a variety of formalism, such as nite state automation (FSA). The inferred specifications can be used for many manual software processes, including debugging.

Keywords

Fault Localization, Specification Mining, Software Engineering, Fusion, Fission, Hybrid

Degree Awarded

PhD in Information Systems

Discipline

Software Engineering

Supervisor(s)

LO, David

Publisher

Singapore Management University

City or Country

Singapore

Copyright Owner and License

Author

Share

COinS