Teaching

Courses

NumberTypeTitleHoursCreditsSemester
184.695 PR Bachelorarbeit für Informatik und Wirtschaftsinformatik 5.0 7.5 2017W
181.224 SE Dissertantenseminar 2.0 3.0 2017W
185.A93 UE Formale Methoden der Informatik 2.0 3.0 2017W
185.291 VU Formale Methoden der Informatik 4.0 6.0 2017W
184.728 PR From Design to Software 1 4.0 6.0 2017W
184.743 PR From Design to Software 2 4.0 6.0 2017W
184.766 VO Introduction to Logical Methods in Computer Science 2.0 3.0 2017W
184.782 VU Meilensteine im Lösen von Spielen über Graphen 2.0 3.0 2017W
184.703 VU Programmanalyse 2.0 3.0 2017W
181.222 PR Project in Computational Logic 8.0 12.0 2017W
184.692 PR Project in Computer Science 1 4.0 6.0 2017W
184.693 PR Project in Computer Science 2 4.0 6.0 2017W
184.697 PR Projekt aus Software Engineering & Internet Computing 6.0 9.0 2017W
184.767 SE Research Seminar LogiCS 2.0 3.0 2017W
181.220 VU Rigorous Systems Engineering 2.0 3.0 2017W
181.221 SE Seminar Formale Methoden 2.0 3.0 2017W
184.747 VU Software Model Checking 4.0 6.0 2017W

Thesis Topics

Bachelor’s Thesis Topics

  • Automatic Bound Computation
    The undecidability of the Halting problem is a famous result that goes back to the beginnings of computer science. The result says that there is no general method for automatically proving the termination of programs. Note, that this statement does not contradict the fact that in practice it is very well possible to prove termination for important program classes automatically. For example, it was a huge success when the first automatic tool chain was able to automatically prove the termination of Windows Device Drivers. Because drivers run in kernel mode, non-terminating drivers could cause the whole system to hang. Despite this success, termination is not a satisfying answer to most programmers who not only want to know that their programs terminate but also when! In ongoing research we are developing tools and algorithms for automatically deriving complexity bounds. See the topics…

Master’s Thesis Topics

  • Model Checking Distributed Algorithms
    Distributed algorithms are designed to be run on several computing nodes, be it on a multiprocessor machine, in a local network, or in a cluster distributed over the globe. Though these algorithms usually have a considerably small description of the code run on an individual node, given the huge number of nodes they can solve complex problems. On the other hand, the distributed nature of the computation poses problems such as different relative processing speeds, delays in message deliveries, faults of nodes and links, etc. To deal with these problems, many sophisticated algorithms have been developed for decades. Each distributed algorithm comes with a mathematical proof of its properties, although the proofs tend to capture the most important behavior, they still could contain non-trivial errors. The formal methods, e.g. theorem proving, model checking, static analysis, are targeted to either find errors or to provide one with a mathematically sound justification that a system under verification behaves with respect to a desired specification. We are developing techniques and tools for checking distributed algorithms in a semi-automatic way, guided by a researcher in that field. See the topics…
  • Automatic Bound Computation
    The undecidability of the Halting problem is a famous result that goes back to the beginnings of computer science. The result says that there is no general method for automatically proving the termination of programs. Note, that this statement does not contradict the fact that in practice it is very well possible to prove termination for important program classes automatically. For example, it was a huge success when the first automatic tool chain was able to automatically prove the termination of Windows Device Drivers. Because drivers run in kernel mode, non-terminating drivers could cause the whole system to hang. Despite this success, termination is not a satisfying answer to most programmers who not only want to know that their programs terminate but also when! In ongoing research we are developing tools and algorithms for automatically deriving complexity bounds. See the topics…
  • Machine Learning and Static Analysis for Building Software Verification Portfolios
    Are you interested in Machine Learning and Formal Methods?
    We are looking for students to work on Verifolio, our machine learning-based portfolio software verifier. Verifolio uses static analysis and machine learning to automatically pick a suitable verification tool for a given verification task.
    Currently, Verifolio is trained and evaluated on data from the Intl. Competition on Software Verification (SV-COMP) using Support Vector Machines (SVM). It outperforms any standalone software verifier in the competition. We are looking for motivated students who will extend the platform in several ways. See the topics…

Graduate Studies

FORSYTE is involved in lectures and organization of the following programs:

Master Programs

PhD Programs

LogiCS

Latest News

Questions answered by Leslie Lamport

Leslie Lamport is going to answer questions about a Mathematical View of Computer Systems in Informatikhörsaal on Tuesday at 6pm. Check the announcement at the VCLA website and do not forget to watch the lecture beforehand.

Continue reading

Helmut Veith 1971-2016

It is with the deepest sadness that we announce Helmut Veith’s passing on March 12, 2016. Helmut was a brilliant researcher, an inspiring collaborator, a stimulating teacher, a generous friend, and a wonderful father and husband. He leaves a void that will be impossible to fill. Our thoughts are with his family and friends.

Continue reading

Full news archive