Computing automates the world, programming models automate computing.
The design and implementation of high-level (domain-specific) programming abstractions are key in automating complex “non-functional” concerns, thus enabling desired software system’s properties such as reliability or security and privacy “by-design”.
Recurring research themes include:
- trading expressivity versus reasoning
- formal definitions
- proving key properties
- implementing efficient prototypes
- evaluating expressiveness
- evaluating effects on program design quality
- evaluating application performance
Courses:
- Lecture: Concepts of Programming Languages
- Lecture: Type Systems
- Project: Modern Programming Languages
- Seminar: Modern Programming Languages
Recent Papers:
- PRDTs: Composable Knowledge-Based Consensus Protocols with Replicated Data Types. J Haas, R Mogk, A Bieniusa, M Mezini.
- Compiling with Arrays. D Richter, T Böhler, P Weisenburger, M Mezini.
- Lore: A programming model for verifiably safe local-first software. J Haas, R Mogk, E Yanakieva, A Bieniusa, M Mezini.
- Prisma: A Tierless Language for Enforcing Contract-client Protocols in Decentralized Applications. D Richter, D Kretzler, P Weisenburger, G Salvaneschi, S Faust, M Mezini.
- Using rewrite strategies for efficient functional automatic differentiation. T Böhler, D Richter, M Mezini.
- A direct-style effect notation for sequential and parallel programs. D Richter, T Böhler, P Weisenburger, M Mezini.
- Algebraic Replicated Data Types: Programming Secure Local-First Software C Kuessner, R Mogk, AK Wickert, M Mezini.
