Almost all of my academic research contributions are in the area of programming languages as well as programming abstractions. I am in particular interested in the development of reusable and extensible software components. Designing such components with today's software design best practices and implementing them with mainstream programming languages is hard, error-prone and does not scale well.

A huge step forward into the right direction is the programming language Scala. Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. Most of my PhD work at EPFL was related to the early design and implementation efforts of Scala and related research languages and compilers like JaCo, Keris, and Pizza.


An Overview of the Scala Programming Language
Martin Odersky, Philippe Altherr, Vincent Cremet, Burak Emir, Sebastian Maneth, Stephane Micheloud, Nikolay Mihaylov, Michel Schinz, Erik Stenman, Matthias Zenger.
2. Edition, Technical Report LAMP-REPORT-2006-001, May 2006. pdf
Technical Report IC/2004/64, EPFL, Switzerland, July 2004. pdf
Scalable Component Abstractions
Martin Odersky, Matthias Zenger.
Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), San Diego, USA, October 2005. pdf
Technical Report IC/2004/109, EPFL, Switzerland, December 2004. pdf
Independently Extensible Solutions to the Expression Problem
Matthias Zenger, Martin Odersky.
Workshop on Foundations of Object-Oriented Languages (FOOL), Long Beach, USA, January 2005. pdf
Technical Report IC/2004/33, EPFL, Switzerland, March 2004. pdf
Keris: Evolving Software with Extensible Modules
Matthias Zenger.
Journal of Software Maintenance and Evolution: Research and Practice (Special Issue on USE), 17(5), John Wiley & Sons, Ltd, September 2005. ref
Towards a Taxonomy of Software Change
Jim Buckley, Tom Mens, Matthias Zenger, Awais Rashid, Günter Kniesel.
Journal of Software Maintenance and Evolution: Research and Practice (Special Issue on USE), 17(5), John Wiley & Sons, Ltd, September 2005. pdf
Programming Language Abstractions for Extensible Software Components
Matthias Zenger.
PhD Thesis, No. 2930, EPFL, Switzerland, March 2004. pdf
Towards a Taxonomy of Software Evolution
Tom Mens, Jim Buckley, Matthias Zenger, Awais Rashid.
International Workshop on Unanticipated Software Evolution (USE), Warsaw, Poland, April 2003. pdf
A Nominal Theory of Objects with Dependent Types
Martin Odersky, Vincent Cremet, Christine Röckl, Matthias Zenger.
European Conference on Object-Oriented Programming, Darmstadt, Germany, July 2003. pdf
Workshop on Foundations of Object-Oriented Languages (FOOL), New Orleans, USA, January 2003. pdf
Technical Report IC/2002/070, EPFL, September 2002. pdf
Extensibility in the Large
Matthias Zenger.
First Doctoral Workshop on Global Computing, Lausanne, Switzerland, June 2002. pdf
Type-Safe Prototype-Based Component Evolution
Matthias Zenger.
European Conference on Object-Oriented Programming (ECOOP), Málaga, Spain, June 2002. pdf
Technical Report IC/2002/014, EPFL, April 2002. pdf
Evolving Software with Extensible Modules
Matthias Zenger.
International Workshop on Unanticipated Software Evolution (USE), Málaga, Spain, June 2002. pdf
Extensible Algebraic Datatypes with Defaults
Matthias Zenger, Martin Odersky.
International Conference on Functional Programming (ICFP), Firenze, Italy, September 2001. pdf
Implementing Extensible Compilers
Matthias Zenger, Martin Odersky.
Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL), Budapest, Hungary, June 2001. pdf
Colored Local Type Inference
Martin Odersky, Christoph Zenger, Matthias Zenger.
ACM Symposium on Principles of Programming Languages, London (POPL), UK, January 2001. pdf
A Functional View of Join
Martin Odersky, Matthias Zenger, Gang Chen, Christoph Zenger.
Technical Report ACRC-99-016, University of South Australia, Adelaide, 1999. pdf
JavaParty: portables, paralleles und verteiltes Programmieren in Java
Michael Philippsen, Matthias Zenger, Matthias Jacob.
JavaDays, Frankfurt, Germany, November 1998. pdf
Erweiterbare Übersetzer
Matthias Zenger.
Masters Thesis, University of Karlsruhe, August 1998. pdf
JavaParty: Transparent Remote Objects in Java
Michael Philippsen, Matthias Zenger.
Concurrency: Practice and Experience, 9(11):1225-1242, November 1997. pdf
Transparente Objektverteilung in Java
Matthias Zenger.
Student project report, Institut für Programmstrukturen und Datenorganisation, Universität Karlsruhe, February 1997. pdf