Summer of Code Sparse http://kernel.org/pub/software/devel/sparse/soc.html Sparse ikiwiki 2007-03-13T00:14:58Z abstract-interpretation http://kernel.org/pub/software/devel/sparse/soc/abstract-interpretation.html 2007-03-13T00:14:58Z 2007-03-13T00:11:11Z

Implement some checks based on abstract interpretation.

graph-enhancements http://kernel.org/pub/software/devel/sparse/soc/graph-enhancements.html 2007-03-13T00:11:11Z 2007-03-13T00:11:11Z

Enhance the graph backend to show the C source code and the linearized bytecode.

ffi http://kernel.org/pub/software/devel/sparse/soc/ffi.html 2007-03-13T00:11:11Z 2007-03-13T00:11:11Z

Use Sparse to generate FFI declarations for some higher-level language, such as Haskell, Python, or Java.

asm http://kernel.org/pub/software/devel/sparse/soc/asm.html 2007-03-13T00:11:11Z 2007-03-13T00:11:11Z

Do something to parse assembly code or object code and turn it into some approximation to the Sparse linearized instruction format. This will help with analysis of the Linux kernel.

Ideally, this would also support inline assembly blocks. Those may even prove easier to start on.

compiler-backend http://kernel.org/pub/software/devel/sparse/soc/compiler-backend.html 2007-03-13T00:11:11Z 2007-03-13T00:11:11Z

Write a compiler backend to generate code for some real architecture. Sparse already has a toy compiler backend for x86, but it handles only a small subset of C.

generate-bytecode-for-java-or-cli http://kernel.org/pub/software/devel/sparse/soc/generate-bytecode-for-java-or-cli.html 2007-03-13T00:11:11Z 2007-03-13T00:11:11Z

Use the Sparse abstract syntax tree or linearized instruction format to generate bytecode for Java or .NET CLI.