Publication Type

PhD Dissertation

Publication Date



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.


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

Degree Awarded

PhD in Information Systems


Software Engineering


LO, David


Singapore Management University

City or Country


Copyright Owner and License

Singapore Management University

Creative Commons License

Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.