Date of Award


Degree Name

Doctor of Philosophy


Computer Science

First Advisor

Dr. Zijiang Yang

Second Advisor

Dr. Steve Carr

Third Advisor

Dr. Jun Sun


Software quality, formal method, fuzzing, blackchain, memory distance, smart contract


With the improvement of theories in the software industry, software quality is becoming the most significant part of the procedure of software development. Due to the implicit and explicit vulnerabilities inside the software, software quality control has caught more researchers and engineers’ attention and interest.

Current research on software quality control and verification are involving various manual and automated testing methods, which can be categorized into static analysis and dynamic analysis. However, both of them have their own disadvantages. With static analysis methods, inputs will not be taken into consideration because the software system isn’t executed so we do not know the behavior of the concurrent software system, while dynamic analysis methods would be extremely expensive because of the enumeration of inputs and paths/interleaving states of the concurrent program. In this research, the formal method brings rigorous mathematical proof into the software quality control, to verify that the requirements for the system being developed have been completely and accurately specified.

This study focuses on the application of the formal method, associated with other software verification method, including symbolic execution, fuzzing, and static analysis methods, to verify the software vulnerabilities and security issues which negatively impact the software quality. For the purpose of presenting the benefits of the utilization of formal methods in software quality control, this study summarizes the research results on the different software platforms, including memory reuse distance measurement and blockchain smart contracts security verification on Ethereum and Hyperledger Fabric

Access Setting

Dissertation-Open Access