Practical Garbage Collection for C with LLVM

From Master Projects
Jump to: navigation, search

About Practical Garbage Collection for C with LLVM

  • This project has not yet been fulfilled.
  • This project fits in the following Bachelor programs: {{#arraymap:|, |xXx|bachelorproject within::xXx|,}}
  • This project fits in the following masterareas: {{#arraymap:Internet and Web Technology, High Performance Distributed Computing, Parallel and Distributed Computer Systems|, |xXx|project within::xXx|,}}


Garbage collection (GC) is a well-established mechanism in managed languages like Java or C#, with the goal of simplifying and automating memory management. Non-managed programming languages like C do not support GC natively and normally delegate the responsibility of memory management to the programmer.

The goal of this project is to design and implement GC for the C programming language using an existing LLVM-based program introspection framework. While potentially useful to automate memory management in new C programs, GC can be also used as a diagnostic tool to find memory errors (e.g., memory leakage) in existing C programs.

This is a research-oriented project in the context of the security and reliability research conducted in our team. Successful results can be published in an international computer systems conference.