2021 LLVM Developers' Meeting
https://llvm.org/devmtg/2021-11/
—
lldb-eval fuzzer: Finding bugs in an LLDB-based expression evaluator - Tonko Sabolcec
Slides: https://llvm.org/devmtg/2021-11/slide...
—
Finding bugs in an LLDB-based expression evaluator - Lldb-eval is an LLDB-based interpreter for evaluating C++ expressions in the context of the debuggee process. It is used in Stadia integration for Visual Studio. This talk focuses on testing lldb-eval to ensure correctness and reliability. Conventional testing methods, such as manual and unit testing, can be used for testing single language concepts (e.g. address-of, member-access, binary expressions, etc). However, sometimes bugs manifest in combination of different concepts, which are impractical to test using conventional methods. Lldb-eval fuzzer uses a random test-case generation method to approach this problem: it continuously generates random C++ expressions, evaluates them against lldb-eval and LLDB's native expression evaluator and compares results. It is integrated with libFuzzer to leverage coverage-guided and mutation-based fuzzing. To this date the fuzzer was able to find dozens of bugs in lldb-eval.
—
Videos Edited by Bash Films: http://www.BashFilms.com