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