2021 LLVM Dev Mtg “lldb-eval fuzzer: Finding bugs in an LLDB-based expression evaluator”

Опубликовано: 14 Октябрь 2024
на канале: LLVM
213
4

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