Dr. Valentin Dallmeier
Postdoc

Software Engineering Chair (Prof. Zeller)
Saarland University – Computer Science
Campus E1 1
66123 Saarbrücken, Germany
E-mail: dallmeier@st.cs.uni-sb.de
Phone: +49 (0)681 302-70993

Deutschsprachige Startseite Page d'acceuil en français English home page
  

Who I Am

I am a postdoc working in the Software Engineering Group at Saarland University. I am interested in different applications of dynamic program analysis, especially mining specifications for anomaly detection and bug localization.

Research Statement

My research is in the field of Software Engineering, focusing on dynamic program analysis. I develop tools that leverage dynamic information for a variety of problems: The AMPLE plugin for Eclipse assists programmers in finding bugs by comparing failing and passing JUnit tests of a program. The ADABU tool mines models of object behavior that help programmers understand code. The birthmarking tool helps companies protect their intellectual property by proving code ownership.

Phd Thesis

New: My thesis won the Ernst Denert Award for Software Engineering 2010. There is a press release that describes the prize.

My thesis introduces a novel approach to modeling the behavior of programs at runtime. We leverage the structure of object-oriented programs to derive models that describe the behavior of individual objects. Our approach mines object behavior models, finite state automata where states correspond to different states of an object, and transitions are caused by method invocations. Such models capture the effects of method invocations on an object's state. To our knowledge, our approach is the first to combine the control-flow with information about the values of variables. Our ADABU tool is able to mine object behavior models from the executions of large interactive java programs.

To investigate the usefulness of our technique, we study two different applications of object behavior models:

  • Mining Specifications Many existing verification techniques are difficult to apply because in practice the necessary specifications are missing. We use ADABU to automatically mine specifications from the execution of test suites. To enrich these specifications, our TAUTOKO tool systematically generates test cases that exercise previously uncovered behavior. Our results show that, when fed into a typestate verifier, such enriched specifications are able to detect more bugs than the original versions.
  • Generating Fixes We present PACHIKA, a tool to automatically generate possible fixes for failing program runs. Our approach uses object behavior models to compare passing and failing runs. Differences in the models both point to anomalies and suggest possible ways to fix the anomaly. In a controlled experiment, PACHIKA was able to synthesize fixes for real bugs mined from the history of two open-source projects.

The complete version of my thesis is available for download at the publication page.

Publications

You can find a list of my publications at the Publications Page.

Projects

Here is a list of projects I am involved in:
  • Ample: A project for automatic defect localization of Java Programs. The project homepage is available here.
  • Adabu: Mining models that describe the behavior of objects. The project homepage is available here.
  • iBugs: Purpose of the iBugs project is to mine large numbers of bugs from a project's version history and provide compilable tests for all versions. The project homepage is available here here.
  • JPure: A tool for dynamic purity analysis. The project homepage is available here.
  • Pachika: Automatically derives fix candidates from object behavior models. The project homepage is available here.
  • Tautoko: Generating test cases to enhance object behavior models by mutating the regression test suite. The project homepage is available here.

Looking for a bachelor/master thesis?

In order to get a feeling of what I'm interested in, you can check out the Publications Page. If you are interested, just send an email and we will see if we can find a suitable topic.

Contact

During office hours, you may either phone me (0681 302 - 64780) or pay me a visit in building E 1.1 room 1.16.3. If I'm not physically available, just send an email to the address given at the top of this page.

Valentin Dallmeier <dallmeier@st.cs.uni-saarland.de> · http://www.st.cs.uni-saarland.de/~dallmeier/ · Updated: 2011-11-03 14:52