Lars Schütze

portrait Lars Schütze




Visitor's Address

+49 351 463-43733

+49 351 463-39995

Chair for Compiler Construction
Helmholtzstrasse 18
3rd floor, Room BAR III57
01069 Dresden

Curriculum Vitae

Lars has a bachelor and master degrees in computer science from the TU Dresden and had worked as researcher at the Software Technology Group headed by Prof. Uwe Aßmann. Lars will work on his PhD in the context of the RoSI project, which studies role-based software infrastructures for continuous-context-sensitive systems.


Dispatch for Role-Oriented Programming Languages

During the lifetime of an object-oriented program objects collaborate with other objects. This is a result of the different roles an object plays at runtime yielding adaptations to the behavior of the role-playing object. Role-oriented programming is an extension to object-oriented programming where those collaborations are first-class citizens of the language. This provides means to separate the different context-dependent behaviors that can be attached to objects at runtime.

In traditional object-oriented programming languages the dispatch is dependent on the type of the receiver and the method name including its arguments (2-dimensional dispatch). However, role-oriented programming languages take the role of the sender and also the current context into account forming a 4-dimensional dispatch. This dispatch is currently not optimized as dispatches before (e.g., vtables, inline caches, devirtualization), but implemented as abstraction on top of the host language (e.g., as DSL or library).

Lars is interested in different approaches to provide optimizations for role-oriented method dispatch. This includes special-purpose compilers that extend the Java compiler, or library approaches that are seamlessly embedded into the language making use of the invokedynamic bytecode instruction. Providing a new interpreter for role-oriented programming languages allows to research the impact of different object models on the performance of the resulting virtual machine.

Benchmarking Role-Oriented Programming Languages

Benchmarks provide an insight into the performance characteristics of the system under test. For programming languages, beside benchmarking whole programs (i.e., mandelbrot) it is also interesting to benchmark single parts in isolation (e.g., method dispatch, memory consumption).

However, there is no pedant to established benchmarks such as SPECjvm for role-oriented programming languages. Because of the many different features of role-oriented programming languages it is hard to develop comparable benchmarks.

This project is interested to develop a benchmark suite that is able to handle a variety of different role-oriented programming languages yet providing insightful information that allows to compare and reason about the performance of each approach.

Student Theses Topics

Some possible topics for Bachelor/Master/Diploma Thesis or SHK/WHK in the following directions:

Framework and Compiler for Homomorphic Encryption

With the expected introduction of quantum computers in the near future, cryptography schemes used nowadays are at risk. Homomorphic Encryption (HE) is a post-quantum safe encryption scheme based on the Ring Learning with Errors (RLWE) problem. It does not only allow safe encryption but also the possibility to operate on encrypted data, i.e., enc(a * b) = enc(a) ⊛ enc(b).

Possible project topics include:

  • The implementation of an MLIR-based optimizing compiler for FHE

Dispatch optimization and programming language implementation

Role-oriented programming will be a key concept in realizing future complex, adaptive software systems. Therefore, the object-oriented paradigm is extended with roles. Objects can play and remove roles at runtime. Playing a role changes the type of objects and may add or change attributes and methods to the object. Moreover, roles describe dynamic relationships between other objects

Possible project topics include:

  • Virtual Machine support for contextual roles
  • Benchmarking and Evaluating the Performance of Role-Oriented Programming Languages [PDF]

  • 2023

  • Mirko Günther, Lars Schütze, Kilian Becher, Thorsten Strufe, Jeronimo Castrillon, "HElium: A Language and Compiler for Fully Homomorphic Encryption with Support for Proxy Re-Encryption", Dec 2023. [Bibtex & Downloads]
  • Lars Schütze, Jeronimo Castrillon, "Towards Virtual Machine Support for Contextual Role-Oriented Programming Languages", Proceedings of the 15th ACM International Workshop on Context-Oriented Programming and Advanced Modularity (COP'23), Association for Computing Machinery, pp. 1–8, New York, NY, USA, Jul 2023. [doi] [Bibtex & Downloads]
  • 2022

  • Lars Schütze, Cornelius Kummer, Jeronimo Castrillon, "Guard the Cache: Dispatch Optimization in a Contextual Role-oriented Language", Proceedings of the 14th ACM International Workshop on Context-Oriented Programming and Advanced Modularity (COP'22), Association for Computing Machinery, pp. 27–34, New York, NY, USA, Jun 2022. [doi] [Bibtex & Downloads]
  • Ilja Shmelkin, Lars Schütze, Tim Kluge, "Modeling flexible Monitoring Systems with a Role-Based Control Loop", In Proceeding: COP 2022: International Workshop on Context-Oriented Programming and Advanced Modularity (collocated with ECOOP), ACM, Jun 2022. [doi] [Bibtex & Downloads]
  • 2021

  • Nesrine Khouzami, Lars Schütze, Pietro Incardona, Landfried Kraaz, Tina Subic, Jeronimo Castrillon, Ivo F. Sbalzarini, "The OpenPME Problem Solving Environment for Numerical Simulations", In Proceeding: International Conference on Computational Science (ICCS'21) (Paszynski, Maciej and Kranzlmüller, Dieter and Krzhizhanovskaya, Valeria V. and Dongarra, Jack J. and Sloot, Peter M. A.), Springer International Publishing, pp. 614–627, Cham, Jun 2021. [doi] [Bibtex & Downloads]
  • 2020

  • Lars Schütze, Jeronimo Castrillon, "Efficient Dispatch of Multi-Object Polymorphic Call Sites in Contextual Role-Oriented Programming Languages", Proceedings of the17th International Conference on Managed Programming Languages & Runtimes (MPLR'20), Association for Computing Machinery, pp. 52–62, New York, NY, USA, Nov 2020. [doi] [Bibtex & Downloads]
  • 2019

  • Lars Schütze, Jeronimo Castrillon, "Efficient Late Binding of Dynamic Function Compositions", Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, ACM, pp. 141–151, New York, NY, USA, Oct 2019. [doi] [Bibtex & Downloads]
  • 2017

  • Lars Schütze, Jeronimo Castrillon, "Analyzing State-of-the-Art Role-based Programming Languages", Proceedings of the First International Conference on the Art, Science and Engineering of Programming (Programming'17), ACM, pp. 9:1–9:6, New York, NY, USA, Apr 2017. [doi] [Bibtex & Downloads]