Index: OpenProjects.html =================================================================== --- OpenProjects.html +++ OpenProjects.html @@ -205,6 +205,63 @@ + +
+ + +Description of the project: + Clang contains an ASTImporter which allows moving declarations and + statements from one Clang AST to another. This is for example used for + static analysis across translation units and in LLDB's expression + evaluator. +
++ The current ASTImporter works as intended when moving simple C code from + one AST to another. However, more complicated declarations such as C++'s + OOP features and templates are not fully implemented and can cause crashes + or invalid AST nodes. The bug reports related to these crashes are often + filed against LLDB's expression evaluator and are rarely submited with a + minimal reproducer. This makes improving ASTImporter a time-consuming and + tedious task. +
++ This project is about writing a fuzzer to proactively discover these + ASTImporter bugs and provide minimal reproducers which make understanding + and fixing the underlying bug easier. +
++ A possible implementation of such a fuzzer and driver could look like this: + +
Confirmed Mentor: Raphael Isemann, Shafik Yaghmour
+Desirable skills: Intermediate knowledge of C++.
+