Homepage of Michael Faes
I am a doctoral student at the Laboratory for Software Technology at ETH Zurich. My dissertation supervisor is Prof. Thomas R. Gross.
You can contact me by email: firstname.lastname@example.org.
I am working on models and languages for safe parallel and concurrent programming and on automatic detection of concurrency bugs using static analysis and software model checking.
My main project is a concurrent object-oriented programming model called Parallel Roles. It is the basis for a Java-like language called Rolez, which can be used to write parallel programs with guaranteed deterministic results, even in the presence of arbitrary reference aliasing. The programmer specifies the role that an object plays for a task (e.g. the readonly role), and compiler and runtime system together ensure that only those object accesses are performed that are allowed by this role. An object may play different roles in the course of a program's execution, giving the programmer considerable flexibility in expressing a parallel program.
- Michael Faes and Thomas R. Gross, Concurrency-Aware Object-Oriented Programming with Roles, Proceedings of the ACM on Programming Languages, Vol. 2, OOPSLA, November 2018.
- Michael Faes and Thomas R. Gross, Efficient VM-Independent Runtime Checks for Parallel Programming, Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL 2018), November 2018. DOI: 10.1145/3281287.3281293.
- Michael Faes and Thomas R. Gross, Formal Proof of Determinism for the Parallel Roles Model, Technical Report, April 2018.
- Michael Faes and Thomas R. Gross, Parallel Roles for Practical Deterministic Parallel Programming (corrected), to appear in the Proceedings of the 30th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2017), October 2017.
- An Efficient Implementation of a Roles-Based Parallel Programming Language, 20th Workshop on Compilers for Parallel Computing (CPC 2018), April 2018.
- Bedeutung von Paralleler Programmierung, 37. Berner-Architekten-Treffen, Juni 2017.
Supervised Student Projects
- Tim Linggi, WhiteSyn: A Fully Automatic Test Generation Tool for Performance Bugs. MSc Thesis, November 2018. Co-supervised with Luca Della Toffola.
- David Rohr, Task Parameter Inference for Inline Tasks in Rolez. BSc Thesis, August 2018.
- Alain Senn, Eager Noninterference in Rolez. BSc Thesis, March 2018.
- Michael Giger, Lightweight Parallel Roles. MSc Thesis, December 2017.
- Jonathan Meier, Check-and-replay for Debugging Concurrency Bugs in Java. BSc Thesis, October 2016.
- Robert Meier, Handling Read-write Locks in a Static Deadlock Analysis. Semester Project, June 2015.
- Arthur Kurath, Automatic Deadlock Analysis Evaluation. BSc Thesis, August 2014.