Seminar: Winter Semester 2017/18

In the Winter Semester 2017/18 we offer a Bachelor and Master seminar “Software Engineering” (cf. 89-3311 and 89-3372).


Please register for the seminar via a short mail to Peter Zeller. The mail can be written in English or German and should include:

  • Your name
  • Student number
  • Course of Study (Bachelor CS, Master CS, EMSE, …)
  • What is your background on logic, verification, and concurrent/distributed programming? Which courses on these topics did you complete successfully?

Note that the number of places we can offer is limited. The registration deadline is the beginning of September. Afterwards we will assign the available places to the registered students.


  • Registration deadline: September 1
  • Kickoff Meeting: Thursday, October 26, 13:45, room 11-201 (Slides)
  • Latex Tutorial: Thursday, November 2, 13:45, room 11-201 (Slides)
  • Extended Abstract submission: November 13, 23:59
  • First draft of paper: December 11, 23:59
  • Presentations: Thursdays, 13:45-15:15 in room 11-201
    • Slot 1: January 11
      • SMT solvers
      • Generating verification conditions
      • The Dafny and Boogie verification tools
    • Slot 2: January 18
      • The Chalice verification tool
      • TLA+
      • The Blockchain
    • Slot 3: January 25
      • Property based testing
      • Concolic testing
      • MOLLY
    • Slot 4: February 1
      • Model checking (theory)
      • Model checking (applications)
      • Rules-Based Programming
      • Model-based Systems Engineering
    • Slot 5: February 8
      • Session Types
      • Generalized Isolation Level Definitions
      • ACIDRain
  • Final paper: February 9, 23:59

Deadlines are strict: Failing to submit a document by the end of the deadline-day means failing the seminar.

Attendance and active participation on all presentation days is mandatory.


In the bachelor seminar, we focus on the topic “Logic and formal verification in Software Engineering”. The master seminar focusses on topics on building correct distributed systems and also includes some interesting topics of applying logic and formal verification to distributed systems.

A preliminary list of topics is available here: List of topics


If you have any questions concerning our seminar please send an e-mail to Peter Zeller.

General Remarks

The goal of a seminar is to introduce students to the major constituent of scientific method that is concerned with critically reading, understanding, summarizing, explaining and presenting existing scientific papers. The following links present this goal in more detail: General guidelines for seminars in English and German. This seminar in particular provides the students opportunity to get acquainted with the research in software engineering.

You will get a scientific paper, which you will have to explain in a term paper (10-15 pages LNCS style, details are given below). Your paper should be understandable by an average master-level computer science student, so you usually have to provide more background information, than what is given in the original paper. In particular this includes a clear description of the problem, a good motivation, and an understandable representation of the solution proposed by the original paper. Your paper may also include critique of the of the original paper, if appropriate.

You will also present the paper to other students. This presentation will take 20 to 30 minutes with around 15 minutes for questions and discussions.

Successful participation in the seminar requires:

  • Term Paper
  • Presentation


The master seminar has to be done in English. The bachelor seminar can be done in German or English.

Term paper

You have to officially submit three versions of your paper.

  1. Extended abstract:

    An abstract is a short (often 100-250 words) summary of a paper, which helps potential readers to decide, whether they should read a paper or not. An abstract often has 4 parts:

    1. A motivation/problem statement, which explains what the topic and scope of the paper is and what problem it tries to solve.
    2. A brief statement about what approach/methods were used to address the problem.
    3. A summary of the results of the paper, which show the reader what was achieved.
    4. A conclusion which summarizes the contributions/usefulness of the results.

    The extended abstract you should write is similar but longer (at least 2 pages). You should focus on the motivation and problem statement and the main ideas of your topic, but you don’t have to go into technical details yet. The extended abstract can later be reused to write the introduction to your paper.

    You should discuss with your supervisor what exactly should go into the extended abstract.

  2. First draft:

    This should be a full paper including everything you want to have in the final paper.

  3. Final paper:

    You will get feedback about your first draft, which you have to incorporate into the final version. Depending on the quality of your first draft, this can range from making a few changes to rewriting the complete paper.


The term paper must be written in LaTeX and use the style provided in our template:

Your paper must be 10-15 pages long (including figures, references, etc.; however, you should not use big figures as space filler to get to 10 pages). Please submit the paper as a PDF file.

Here are some advice on writing your term paper in addition to the general guidelines:


You are free to use your favorite program and style for creating your presentation slides. If you want to use the official university style, you can use the respective Latex template or Powerpoint template.

Some bright people have given up their time to write some tips on how to do a presentation. As with other tips given on this page, we can’t encourage you enough to read them.