Programming Languages

Assigned Thesis Topics

If you are interested in writing a thesis (in German or English) in the scope of one of our research topics, just come talk to us.

List of currently assigned thesis topics

Algebraic Subtyping for Ouroboro

Algebraic subtyping is a new approach which unifies parametric polymorphism, subtyping and complete type inference with principal types. The presentations used in the literature illustrate the approach by considering systems with function types, record types and base types, since these form a minimal type theory which allows to illustrate contravariance (function types) and subtyping (record types).

Read more ...

Dependent Data and Codata Types

User-defined data and codata types are two dual and complementary ways to specify types and their inhabitants. Data types specify canonical producers which are built up by constructors, and non-canonical consumers which are formed by pattern matching on constructors. Codata types specify canonical consumers which are built up by destructors, and non-canonical producers which are built up by copattern matching on destructors. For example, using (indexed) codata types it is possible to replace a builtin (dependent) function type by a user defined type.

Read more ...

Highcharts for Scala

Highcharts is a Javascript library for visualizing data. The purpose of this thesis is to develop an adapter of Highcharts for Scala, such that data in the Scala runtime can be visualized with the same ease as with dedicated data science languages such as Mathlab or R.

Read more ...

Web-/Cloud-basierte Ausführung von Steuergerätesoftware

Im Bereich der Entwicklung von Steuergerätesoftware kommen als Zielplattformen sowohl Gerätehardware als auch entsprechende Emulatoren zum Einsatz. Deren Verwendung ist vielfach kostenintensiv und für proprietäre Systeme oft mit einem Lock-in ohne Möglichkeiten der Erweiterung oder der Integration mit anderen Systemen verbunden. Der Einsatz von Fat Client Software erschwert darüber hinaus deren externe Verwendung zum Beispiel durch Testingenieure an Offshore-Standorten. Schließlich ist die Skalierbarkeit von Tests auf physischen Steuergeräten oder Fat Client Emulatoren stark eingeschränkt.

Read more ...