ETH Ph.D.
Research Interests
My primary research interest is in programming languages and everything that is related to that: Functional/Object-oriented/Logic programming, static and dynamic type systems, static and dynamic program analyses, compilers, and optimizations.
The topic of my Ph.D. thesis is a static analysis of parallel programs that can be used in optimizing compilers for multithreaded/multicore systems.
Ph.D. Project
Exploiting Task-order Information in Compilers for Shared-memory Parallel Programs |
My Ph.D. thesis is available as a PDF in my publications section. Current compilers are still largely ignorant of the scheduling of parallel tasks at runtime. Without this information, however, they have difficulties optimizing and verifying concurrent programs. In this project, we research a programming model where the program contains explicit scheduling constraints in the form of happens-before relationships between scheduled tasks. This model allows for flexible and fine-grained ad hoc parallelism while still enabling us to statically extract an abstraction of the runtime schedule. The result of this schedule analysis can answer the question as to whether two tasks execute in sequence, exclusively, or in parallel with each other. |
Other Projects
Pepper: Programming in Context | Pepper is an extension of Java designed to separate code and data. Unlike Java, Pepper allows controlled violations of encapsulation by permitting the same set of data to be used in multiple contexts --- meaning that the same data may be be accessed through different interfaces for different purposes, in a type-safe fashion. |
Quiddity: Morphware for Next-Generation Computing Systems | Reconfigurable computing abandons the "one-design-fits-all" philosophy of a traditional microprocessor and instead customizes the hardware to the task at hand, allowing enormous speedups for many problems. Recently, a new technology based on non-volatile magnetoresistive (MR) elements was proposed for reconfigurable computing, which consist of two magnetic layers separated by a non-ferromagnetic spacer; these can be used to form gates which are reprogrammable at runtime, with speeds comparable to ordinary memory access. |
Brainchild - the pen-based collaborative editor | This project is about exploring the usage of pen-based user interfaces (i.e., tablet PCs) for collaborative work. Please visit the project homepage for more information and downloads. |
Peer-Review-System (PRS) | The goal of this project is to create a web-based platform for managing and conducting peer-review exercises. Professors or assistants are able to upload exercises, for which the students can then upload their solutions. Peer reviews are a mechanism where a student gets the submission of somebody else for correcting it. |
More | You can find more of my private projects here. |
Teaching
Supervised Master Theses
(The zip file with all (?) the master and semester theses I supervised)
Date | Status | Student(s) | Project |
---|---|---|---|
SS2008 | Finished | Samuel Riedmann | Java with Object States |
SS2008 | Finished | Simon Reinhard | Mapping Finite State Machine Specifications to MRAM-based Hardware |
WS2007/08 | Finished | Silvan Graf | Compilation for Magnetic-RAM-based FPGAs in the Quiddity Project |
SS2007 | Finished | Franziska Fritschi | Garbage Collection for Pepper |
WS2006/07 | Finished | Nina Laschet | Graph Transforming Lenses for Pepper |
WS2006/07 | Finished | Stefan Wismer | A Simulator for MRAM-based FPGAs in Quiddity |
Supervised Semester Projects
Date | Status | Student(s) | Project |
---|---|---|---|
SS2010 | Finished | Can Ali Akgül | Synchronization for Parallel Programming in Multi-Clients/Server Environment |
SS2010 | Finished | Ruedi Steinmann | Meta-circular Self Implementation using the Mantuko Language |
SS2007 | Finished | Adrian Gauch | Comparing the Effectiveness of Magnetoresistive Elements to Transistors for the Quiddity Project |
SS2007 | Finished | Daniel Kellenberger | Project Directory |
WS2006/07 | Finished | Ken Lee, Michael Gubser | A Framework for Managing Project Resources based on Temporal Relationships |
SS2006 | Finished | Ruihua Jin | Diagram Editor for Tablet PCs |
SS2006 | Finished | Nina Laschet | A Virtual Machine for Pepper |
WS2005/06 | Finished | Ivan Apert | Brainchild |
WS2005/06 | Finished | Tobias Stamm | Chair'o'Peer |