Forschungsschwerpunkt Typsysteme für objektorientierte Programmiersprachen
In objektorientierten Sprachen wie Java, C#, Scala oder C++ ist es zwingend erforderlich, den Typ einer Variablen, die Argument- und Return-Typen einer Methode festzulegen. Es gibt allenfalls lokale Typinferenzen, die es für einen sehr eingeschränkten Bereich erlauben Typen wegzulassen. Demgegenüber haben funktionale Sprachen wie Haskell oder CAML schon seit sehr langer Zeit globale Typinferenzsysteme, die es erlauben, alle Typen wegzulassen, ohne die Eigenschaft statische Typisierung zu verlieren.
Der Forschungsschwerpunkt Typsysteme für objektorientierte Programmiersprachen beschäftigt sich hauptsächlich mit der Programmiersprache Java und dem Versuch, diese um eine globale Typinferenz zu erweitern.
Java-TX
Ein an der Dualen Hochschule entwickelter Typinferenzalgorithmus soll Java Programmieren einfacher und effizienter machen. Er kann für Programmierer*innen automatisch die bestmögliche Typisierung errechnen und einsetzen. Dadurch ist es auch möglich, den Java Quellcode ohne Typangaben zu schreiben.
Die daraus entstandene Programmiersprache Java-TX (TX steht für Type eXtended) erweitert Java um:
- Globale Typinferenz
- Echte Funktionstypen, wie sie aus Scala oder C# bekannt sind
- Allgemeinste Typen
- Durchschnittstypen
Laufende Projekte
- Typinferenz für Featherweight Java: Ein gemeinsames Projekt mit dem Arbeitsbereich Programmiersprachen des Instituts für Informatik der Universität Freiburg. Im Rahmen der DHBW Innovationsprogramm Forschung wird hier eine kooperative Promotion durchgeführt.
- Generated Generics
- Pattern-Matching in Java-TX
- Parallelisierung der Typunifikation
- Java-TX-Compiler in Java-TX
Abgeschlossene Projekte
- Entwicklung eines Java-Typunifikationsalgorithmus
- Integration von echten Funktionstypen in Java
Abgeschlossende Studien-, Bachelor- und Masterarbeiten
Veröffentlichungen
- Martin Plümicke, Etienne Zink: Java-TX: The language (pdf) in INSIGHTS – Schriftenreihe der Fakultät Technik der DHBW Stuttgart, 01/2022
- Martin Plümicke: Java-TX: The Language
In Proceedings of the 36. Workshop der GI-Fachgruppe "Programmiersprachen und Rechenkonzepte", pages 11-23 (6. - 8. Mai 2019, Bad Honnef)
-
Martin Plümicke, Daniel Holle: Principal generics in Java-TX (pdf)
In Proceedings of the 22. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'23) , pages 122-143, 25.-27. September 2023 in Vaals, Niederlande -
Andreas Stadelmeier, Martin Plümicke: Type Inference for Java: Unification of Type Constraints Involving Existential Types (pdf)
In Proceedings of the 22. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'23) , pages 159-174, 25.-27. September 2023 in Vaals, Niederlande - Andreas Stadelmeier, Martin Plümicke, Peter Thiemann: Global Type Inference for Featherweight Generic Java (PDF), Long version, arxiv In Proceedings of the 36th European Conference on Object-Oriented Programming (ECOOP 2022), pages 28:1–28:27 (June 6 - July 7, 2022)
- Fayez Abu Alia and Martin Plümicke: Minimal set of generated generics in Java-TX
In Proceedings of the 20. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'19) , pages 1-14, 23.-25. September 2019 in Baiersbronn (Baden-Württemberg), Deutschland - Martin Plümicke, Andreas Stadelmeier: Introducing Scala-like function types into Java-TX (PDF)
- In Proceedings of the 14th International Conference on Managed Languages & Runtimes (ManLang, formerly PPPJ), ACM International Conference Proceeding Series, ISBN 978-1-4503-0935-6, Prague, Czech Republic, September 26-27, 2017
- Martin Plümicke: More type inference in Java-8
In Lecture Notes in Computer Science 8974, PSI' 14, Ershov Informatics Conference Perspectives of System Informatics, pages , June 24-27, 2014, St. Petersburg, Russia - Adding overloading to Java type inference (PDF)
Im Gemeinsamen Tagungsband der Workshops der Tagung Software Engineering 2015 der 8. Arbeitstagung Programmiersprachen (ATPS 2015) , pages 127-132, 18. März 2015 in Dresden - Martin Plümicke: Well-typings for Javaλ (PDF)
In Proceedings of the 9th international symposium on Principles and practice of programming in Java ACM International Conference Proceeding Series, ISBN 978-1-4503-0935-6, Kongens Lyngby, Denmark, August 24-26, 2011 - Martin Plümicke: Intersection Types in Java (PDF)
In Proceedings of the 6th international symposium on Principles and practice of programming in Java ACM International Conference Proceeding Series; Vol. 347 Modena, Italy, September 9-11, 2008 - Martin Plümicke: Typeless Programming in Java 5.0 with Wildcards (PDF)
In Proceedings of the 5th international symposium on Principles and practice of programming in Java ACM International Conference Proceeding Series; Vol. 272 Monte de Caparica/Lisbon, Portugal, September 5-7, 2007 - Martin Plümicke, Jörg Bäuerle: Typeless programming in Java 5.0 (PDF)
In Proceedings of the 4th international symposium on Principles and practice of programming in Java ACM International Conference Proceeding Series; Vol. 178 Mannheim, Germany, August 30 - September 1, 2006.
- Optimization of the Java Type Unification (pdf)
At the 37th Workshop on (Constraint) Logic Programming, WLP 2023, Berlin, Germany, September 26, 2023 - Florian Steurer, Martin Plümicke: Erweiterung und Neuimplementierung der Java Typunifikation
In Proceedings of the 35th Annual Meeting of the GI Working Group Programming Languages and Computing Concepts, May 2.-4., 2018, Bad Honnef - Martin Plümicke: Java Type Unification with Wildcards
In Proceedings of the 17th International Conference, INAP 2007, and 21st Workshop on Logic Programming, WLP 2007, Würzburg, Germany, October 4-6, 2007, Revised Selected Papers - Martin Plümicke: Type Unification in Generic-Java
In Proceedings of 18th International Workshop on Unification, pages , Cork, Ireland, July 5. 2004
-
Daniel Holle, Martin Plümicke: Java-TX Eclipse-Plugin (pdf)
In Proceedings of the 22. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'23) , pages 77-91, 25.-27. September 2023 in Vaals, Niederlande - Andreas Stadelmeier, Martin Plümicke, Peter Thiemann, Global Type Inference for Featherweight Generic Java - Prototype Implementation (Artifact) In Special Issue of the 36th European Conference on Object-Oriented Programming (ECOOP 2022), pages 18:1–18:4 (June 6 - July 7, 2022)
- Fayez Abu Alia: Bytecode generation in Java-TX
In Proceedings of the 35th Annual Meeting of the GI Working Group Programming Languages and Computing Concepts, May 2.-4., 2018, Bad Honnef - Andreas Stadelmeier Java type inference as an Eclipse plugin (PDF)
In Proceedings der 45. Jahrestagung der Gesellschaft für Informatik, Informatik 2015, Informatik, Energie und Umwelt, 28. September - 2. Oktober 2015 in Cottbus, Deutschland
Leitung
- Prof. Dr. habil. Martin Plümicke / Tel.: 07451/521-142 / E-Mail: m.pluemicke@hb.dhbw-stuttgart.de
Wissenschaftlicher Mitarbeiter
- Andreas Stadelmeier, M.Sc. / Tel.: 07451/521-421 / E-Mail: a.stadelmeier@hb.dhbw-stuttgart.de
Laboringenieur
- B. Sc. Daniel Holle / Tel.: 07451/521-148 / E-Mail: d.holle@hb.dhbw-stuttgart.de
Studienarbeiter
- Paul Lehmann
Aktuelles
Verstärkung für das Forschungsteam
Daniel Holle unterstützt für zwei Semester als wissenschaftliche Hilfskraft das Forschungsteam. Lesen Sie weiter
Habilitation über die Programmiersprache Java abgeschlossen
Prof. Dr. habil. Martin Plümicke hat am 25. April 2022 an der Universität Tübingen erfolgreich seine Habilitation über die Programmiersprache Java abgeschlossen. Lesen Sie weiter