Matthias Zenger

Research

My academic research contributions are almost exclusively in the area of programming languages and programming abstractions. My work focused on 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.
  1. 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.
    Technical Report IC/2004/64, EPFL, Switzerland, July 2004.
  2. Scalable Component Abstractions
    Martin Odersky, Matthias Zenger.
    Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), San Diego, USA, October 2005.
    Technical Report IC/2004/109, EPFL, Switzerland, December 2004.
  3. Independently Extensible Solutions to the Expression Problem
    Martin Odersky, Matthias Zenger.
    Workshop on Foundations of Object-Oriented Languages (FOOL), Long Beach, USA, January 2005.
    Technical Report IC/2004/33, EPFL, Switzerland, March 2004.
  4. 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.
  5. 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.
  6. Programming Language Abstractions for Extensible Software Components
    Matthias Zenger.
    PhD Thesis, No. 2930, EPFL, Switzerland, March 2004.
  7. 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.
  8. 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.
    Workshop on Foundations of Object-Oriented Languages (FOOL), New Orleans, USA, January 2003.
    Technical Report IC/2002/070, EPFL, September 2002.
  9. Extensibility in the Large
    Matthias Zenger.
    First Doctoral Workshop on Global Computing, Lausanne, Switzerland, June 2002.
  10. Type-Safe Prototype-Based Component Evolution
    Matthias Zenger.
    European Conference on Object-Oriented Programming (ECOOP), Málaga, Spain, June 2002.
    Technical Report IC/2002/014, EPFL, April 2002.
  11. Evolving Software with Extensible Modules
    Matthias Zenger.
    International Workshop on Unanticipated Software Evolution (USE), Málaga, Spain, June 2002.
  12. Extensible Algebraic Datatypes with Defaults
    Matthias Zenger, Martin Odersky.
    International Conference on Functional Programming (ICFP), Firenze, Italy, September 2001.
  13. Implementing Extensible Compilers
    Matthias Zenger, Martin Odersky.
    Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL), Budapest, Hungary, June 2001.
  14. Colored Local Type Inference
    Martin Odersky, Christoph Zenger, Matthias Zenger.
    ACM Symposium on Principles of Programming Languages, London (POPL), UK, January 2001.
  15. A Functional View of Join
    Martin Odersky, Matthias Zenger, Gang Chen, Christoph Zenger.
    Technical Report ACRC-99-016, University of South Australia, Adelaide, 1999.
  16. JavaParty: portables, paralleles und verteiltes Programmieren in Java
    Michael Philippsen, Matthias Zenger, Matthias Jacob.
    JavaDays, Frankfurt, Germany, November 1998.
  17. Erweiterbare Übersetzer
    Matthias Zenger.
    Masters Thesis, University of Karlsruhe, August 1998.
  18. JavaParty: Transparent Remote Objects in Java
    Michael Philippsen, Matthias Zenger.
    Concurrency: Practice and Experience, 9(11):1225-1242, November 1997.
  19. Transparente Objektverteilung in Java
    Matthias Zenger.
    Student project report, Institut für Programmstrukturen und Datenorganisation, Universität Karlsruhe, February 1997.