Index: www/trunk/OpenProjects.html =================================================================== --- www/trunk/OpenProjects.html +++ www/trunk/OpenProjects.html @@ -6,6 +6,20 @@
Description of the project: Just as LLVM is a library to + build compilers, LLDB is a library to build debuggers. LLDB vends + a stable, public SB API. Due to historic reasons the LLDB command + line interface is currently implemented on top of LLDB's private + API and it duplicates a lot of functionality that is already + implemented in the public API. Rewriting LLDB's command line + interface on top of the public API would simplify the + implementation, eliminate duplicate code, and most importantly + reduce the testing surface. +
++ This work will also provide an opportunity to clean up the SB API + of commands that have accrued too many overloads over time and + convert them to make use of option classes to both gather up all + the variants and also future-proof the APIs. +
+Confirmed Mentor:Adrian Prantl and Jim Ingham
+ +Desirable skills: + Intermediate knowledge of C++. +
+Description of the project: lldb-mi implements a + machine-readable interface that is supported by many IDEs and text + editors. The current support is incomplete and does not implement + enough commands to work with most text editors. More importantly, + it isn't using the right abstraction layer: Instead of executing + textual commands via handleCommand() and scraping LLDB's + textual output, it should be using the methods and data structures + provided by the public SB API. +
+Confirmed Mentor: Adrian Prantl
+ +Desirable skills: + Intermediate knowledge of C++. +
+Description of the project: One of the tensions in the + testsuite is that spinning up a process and getting it to some + point is not a cheap operation, so you'd like to do a bunch of + tests when you get there. But the current testsuite bails at the + first failure, so you don't want to do many tests since the + failure of one fails all the others. On the other hand, there are + some individual test assertions where the failure of the assertion + should cause the whole test to fail. For example, if you + fail to stop at a breakpoint where you want to check some variable + values, then the whole test should fail. But if your test then + wants to check the value of five independent locals, it should be + able to do all five, and then report how many of the five variable + assertions failed. We could do this by adding Start + and End markers for a batch of tests, do all the tests in + the batch without failing the whole test, and then report the + error and fail the whole test if appropriate. There might also be + a nice way to do this in Python using scoped objects for the test + sections. +
+Confirmed Mentor: Jim Ingham
+ +Desirable skills: + Intermediate knowledge of Python. +
+Description of the project: - lldb-mi implements a machine-readable interface that is supported by many - IDEs. The current support is very incomplete and isn't using the right - abstraction layer. Instead of scraping LLDB's textual output, it should be - using the data structures provided by the public API. -
-Confirmed Mentor: Adrian Prantl, Greg Clayton
- -Desirable skills: - Intermediate knowledge of C++. -
-