More about HKUST
Effective Instrumentation and Runtime Support for Enhancing Software Reliability
PhD Thesis Proposal Defence Title: "Effective Instrumentation and Runtime Support for Enhancing Software Reliability" by Mr. Hao LING Abstract: Modern systems and software development is no longer a simple "code, compile and run" process. Dynamic analysis and monitoring of programs' runtime behaviors are increasingly vital in the continuous development of modern systems and software. These practices enhance testing, debugging, verification, and performance optimization. Meanwhile, standard compilation workflows and runtime environments often fail to collect the diverse forms of data required by dynamic analysis. It is necessary to employ additional compilation or runtime support, which, however, introduces heavy overhead and limits the applicability of the analysis. This thesis presents contributions to improving the scalability of dynamic analysis methods at the industrial scale, focusing on instrumentation techniques (i.e., the automatic insertion of predefined instructions during compilation or runtime) and the corresponding runtime support required by the instrumentation (e.g., independent auxiliary data structures or databases). The first contribution enhances memory safety guarantee by improving sanitizer efficiency and effectiveness. Memory sanitizers, widely used for diagnosing memory-related vulnerabilities, currently rely on low-level semantics derived from machine instructions, which limits their efficiency. Our tool, GiantSan, introduces a novel instrumentation design to enable memory operation-level protection derived from the semantics of the high-level languages, enhancing the accuracy and efficiency of memory sanitizers. This approach reduces runtime overhead by over 41.94% compared to state-of-the-art solutions and decreases false negatives by 463 cases in real-world projects. The second contribution introduces a runtime monitoring component to support fuzz testing. We emphasize the critical role of memory-related guidance in fuzzing to expose hidden bugs and highlight that existing methods lack the necessary runtime support to retrieve this guidance. Our infrastructure, Spinel, captures memory-related insights with minimal overhead, leveraging dedicated runtime support and offline analysis. Experiments on 33 real-world programs demonstrate that Spinel detects 1.30x to 2.33x more unique bugs than state-of-the-art fuzzers and achieves a 1.56x to 8.21x speedup in triggering ground-truth bugs based on historical development data. Date: Thursday, 12 June 2025 Time: 3:00pm - 5:00pm Venue: Room 3494 Lifts 25/26 Committee Members: Prof. Charles Zhang (Supervisor) Prof. Qiong Luo (Chairperson) Dr. Wei Wang