Raphael Isemann

I'm interested in making the software we all use faster, safer and more reliable by building better compilers and programming tools.

I currently work for Apple on LLVM where I create tools for creating and debugging software. I am located in Stockholm (Sweden).

You can reach me under teemperor(AT-AT)gmail.com.

You can find my CV below (or here as a two page PDF).

Projects

LLVM

I actively work on parts of the LLVM compiler infrastructure since 2016. All my patches can be found under my LLVM Phabricator account (list of my git commits).

ROOT/Cling

I was a technical student at the European Organization for Nuclear Research (CERN) where I built a faster parser for the Cling C++ interpreter based on Clang's module system. The Cling interpreter is part of the ROOT data analysis framework: https://root.cern

WebAssembly

I was part of the W3 group that specified the WebAssembly standard and created one of the first WebAssembly implementations for my undergrad thesis. My WebAssembly runtime also featured reverse-execution and fast cycle detection for deterministic programs.

elementary OS

During my undergraduate studies I was on the core developer team of the popular Linux distribution elementary OS that was making open source computing accessible to people with limited computer skills.

cif - (type-based) Clang information flow

As part of the language-based security project at Chalmers I created Cif, an extension to the C++ type system that allows annotating and enforcing information flow. See the presentation slides and my course report.

Education

Chalmers University, Sweden (2016 - 2019)

M.S., Computer Science - algorithms, languages and logic programme

Final average grade: 4.7 (Grading scheme: 5 - best grade, 3 - lowest passing grade)

Kempten University of Applied Science, Germany (2013 - 2016)

B.S., Computer science

Final average grade: 1.5 (Grading scheme: 1 - best grade, 4 - lowest passing grade)

Publications

Optimizing Frameworks Performance Using C++ Modules Aware ROOT

Yuka Takahashi, Vasil Vasilev, Oksana Shadura, Raphael Isemann

23rd International Conference on Computing in High Energy and Nuclear Physics (CHEP 2018)

Some misc. writing and publication work:

Beyond debug information: Improving program reconstruction in LLDB using C++ modules

Raphael Isemann

Supervisor & Examiner: Thomas Sewell, Magnus Myreen

Master's thesis, Chalmers University, June 2019

A WebAssembly Interpreter with Integrated Debugging Capabilities

Raphael Isemann

Supervisor & Examiner: Prof. Dr.rer.nat. Ulrich Göhner

Bachelor's thesis, Kempten University of Applied Science, April 2016

The halting problem in real-world programs

Raphael Isemann

Technical Reports in Computing Science No. CS-01-2015 (Kempten University of Applied Science)

I did the evaluation/benchmarking work for the following paper (not an official author but listed in the acknowledgements).

Optimizing ROOT's performance using C++ Modules.

Vassilev, Vassil

Journal of Physics: Conference Series. Vol. 898. No. 7. IOP Publishing, 2017.

Reviewing for conferences:

I was an external reviewer for the 2020 LLVM Developers' meeting. I also externally reviewed selected submissions for WebConf'19, IEEE SP 2019 and POST 2019 (which was made possible by my professor at Chalmers Andrei Sabelfeld).

Recorded talks

I sometimes give talks at LLVM developer meetings which are usually recorded (see the links below).

Mentoring

I am actively involved in organising Google Summer of Code at the LLVM project and mentoring students during their projects. In 2017 I represented LLVM at the Google Summer of Code mentor summit. The students I mentored in past years are:

(Not listed: Four GSoC 2021 students which aren't officially accepted as of now).

Grants

Most of my studies were made possible because of several generous people, organisations and other programs such as:

  • The LLVM foundation for granting me a travel stipend to visit the 2017 LLVM Developers' Meeting and present my talk.
  • The LLVM foundation for granting me a travel stipend to visit the 2016 LLVM Developers' Meeting and present my talk.
  • The Google Summer of Code 2016 program for the stipend that allowed me to work on Clang's clone detection framework.
  • The Boost Steering Committee for greanting me a travel stipend to visit, talk and volunteer at the C++now 2016 conference.