Andreas Zeller
Resume

Software Engineering Chair (Prof. Zeller)
Saarland University – Computer Science
Campus E1 3
66123 Saarbrücken, Germany
E-mail: zeller @ cs.uni-saarland.de
Phone: +49 (0) 681 302-64011

Deutschsprachige Startseite Page d'acceuil en français English home page
   [Biographical Sketch | Experience | Education | Activities | Skills | Publications | Activities | Grants | Awards]
Andreas Zeller is a full professor at Saarland University in Saarbrücken, Germany. His broad research area is software engineering, which concerns the construction and evolution of large, complex software systems at reasonable cost and high reliability. His research in this area concerns the analysis of these systems, especially the analysis of why these systems fail to work as they should. In 2009, Zeller got the ACM SIGSOFT Impact Paper Award for his work on delta debugging as the most influential software engineering paper of 1999. His book "Why programs fail" got the 2005 Software Productivity Award as one of the three most productivity-boosting books of the year. Zeller is the appointed program chair of the 2011 European Software Engineering Conference (ESEC/FSE).

Experience

Full Professor (C4/W3) at Saarland University, Saarbrücken, Germany (since May 2003)

  • I am currently working on three topics:
    • Mining Software Archives — What can we predict from the history of changes and errors? (A lot.)
    • Automated Debugging — when a program fails, can we automatically determine the cause for the failure? (We can.)
    • Mining Models — Can we generate abstractions that capture the common properties of multiple program runs? (Yes.)

  • Wrote a textbook on debugging, entitled "Why programs fail: A systematic guide to debugging". Co-published by Morgan Kaufmann and dpunkt.verlag, it has won a Jolt Product Productivity Award.

    This is the first comprehensive textbook on debugging, covering a wide range of tools and techniques from hands-on observation to fully automated diagnoses. All this is built on a solid theory of how failures come to be.

  • Held lectures at University of Washington as guest professor (March to June 2005)

    This is where I finished my debugging textbook and gave the first complete lecture on the topic.

  • Visited Microsoft Research as guest researcher (September to October 2005)

    Tom Ball, Nachi Nagappan, and I have been the first to systematically analyze multiple failure databases at Microsoft, predicting failure-prone components in Microsoft products. See this article [FAZ.net, in German] and this paper for details.

  • Got an offer for a full professorship on programming paradigms from Karlsruhe University (September 2006; declined).

Associate Professor (C3) at Saarland University, Saarbrücken, Germany (2001 to 2003)

  • Invented an effective and efficient method for isolating causes of program failures: Delta Debugging, applied on program states, isolates cause-effect chains from computer programs - "First, A happened, then B, and then C, which lead to the failure". The method is now publicly available via the AskIgor automated debugging services.

    Cause-effect chains can be extracted from programs as large and as obfuscated as the GNU C compiler. The impact of having automated debugging available for such programs cannot be estimated yet.

  • Developed Memory Graphs as a means to capture memory state and to examine and visualize program state using well-known graph algorithms.

    So far, the main use of memory graphs is their use in isolating cause-effect chains, as above. Other applications include visual exploration and state invariants expressed as graph properties.

  • Got offers for full professorships from Mannheim University (June 2002; declined), University of Zurich (December 2002; declined), and Hannover University (January 2003; declined).

Assistant Professor (Wiss. Assistent C1) at University of Passau, Bavaria, Germany (1999 to 2001)

  • Extended Delta Debugging to isolate general failure-inducing circumstances such as failure-inducing input, failure-inducing statements, or failure-inducing schedules. Got research and patent grants.

    Delta debugging can fully automate fault localization, the most difficult part of debugging. Its potential will keep me very busy in the years to come...

  • Developed Praktomat, a Web-based system for organizing programming courses. Praktomat automatically checks and tests submitted programs and lets students review each other's solutions.

    Praktomat was an enormous success in the students' view: 57.7% agreed that testing raised the quality of their programs (another 28.8% agreed partially); 63.5% confirmed that reviewing raised the quality of their programs (another 19.2% partially). On a scale from 1 (outstanding) to 6 (poor), the overall course got an average rating of 1.96.

  • Wrote a book on Programming Tools that demonstrates software engineering principles on selected programming tools.

    Students love this book: It not only discusses the practical usage, but also shows the software engineering concepts and techniques behind daily programming tools.

Assistant Professor (Wiss. Assistent C1) at Technical University of Braunschweig, Germany (1997 to 1999)

  • Developed Delta Debugging, an automated technique to isolate the change that causes a specific software failure. Basically, delta debugging answers the question ``Yesterday, my program worked. Today, it does not. Why?''

    Delta debugging brings together my previous work on configuration management and debugging; this combination promises several exciting research themes. Contact me for any details.

  • Conceptualized and taught courses in Design Patterns (seminar, 1997), Software Tools (lecture, 1997 and 1998), and Software Engineering (lecture, 1997/98, 1998/99, and 1999/2000).

    These lectures have been evaluated by the students. on a scale from 1 (outstanding) to 6 (poor), the average for Software Tools was 2.03; for Software Engineering, 2.26. Best categories were the presentation as well as the quality of the lecture notes.

Research Assistant (Wiss. Mitarbeiter) at Technical University of Braunschweig, Germany (1991 to 1997)

  • Developed the version set model, unifying the variety of software versioning concepts in one single versioning model, using feature logic as formal foundation.

    This was the first work that provided a unified formal base for software versioning concepts. It was presented on the major software engineering conferences as well as in the ACM transactions on software engineering. The resulting Ph.D. thesis won the Ernst Denert Award for the best German software engineering thesis in 1997.

  • Conceptualized, co-authored and maintained the GNU Data Display Debugger (DDD), a tool that visualizes the data structures of your program while it is executing.

    With more than 250,000 users, DDD is one of the most successful pieces of ``academic'' software ever written. All major information technology suppliers use DDD for software development; the list goes from Adobe and Compaq to Thomson and Xerox.

  • Held courses in Introduction to Programming (first-grade lecture, 1996/1997); Configuration Management (two one-day tutorials, 1996); Introduction to C++ (four one-week tutorials, 1992-1995); Software Engineering (exercises, 1992-1995); Functional Programming (exercise, 1991).

    In the student's evaluation, Introduction to Programming got an average grade of 2.21; the best category was the presentation style.

Education

Ph.D. in Computer Science (Dr.-Ing.) at Technical University of Braunschweig, Germany (1991 to 1997)

Computer Science Diploma (Dipl.-Inform.) at Technical University of Darmstadt, Germany (1984 to 1991)

  • Diploma thesis: VSE - a Visual Structure Editor. Grade: 1.2 (passed with distinction) in June, 1991.

Special Skills

  • Fluent in German, French, and English. Passive knowledge of Italian and Spanish.

Publications

Scientific Activities

2006 and later

2004-2005

2003 and earlier

Scientific Organizations

Grants

Awards


[Biographical Sketch | Experience | Education | Activities | Skills | Publications | Activities | Grants | Awards]

Andreas Zeller <zeller@st.cs.uni-saarland.de> · http://www.st.cs.uni-saarland.de/zeller/resume.php3 · Updated: 2008-08-06 15:18