We are hiring new student research assistants and tutors. Apply now!
Paper accepted at CCS 2023: Assume but Verify: Deductive Verification of Leaked Information in Concurrent Applications
Student Positions @ SoSy

Student Research Assistant and Tutor Positions

The Software and Computational Systems Lab is constantly looking for research student assistants. If you have good grades and are interested in research in the area of software verification, please consider the below positions. We offer flexible working hours, a shared workspace in our offices, and the chance to contribute to novel research in multiple areas of software verification.

Student Research Assistant

🔬 JavaScript/React development for BenchExec
The chair maintains and developers the open-source benchmarking framework BenchExec that is used by many researchers. An important part of BenchExec are the interactive result tables (example) that users use to look at and interactively analyze their benchmarking results. We are currently looking for a student assistant who would be the primary developer of this web application and supported by the BenchExec maintainer Philipp Wendler.

This application is based on the React framework from Facebook and some libraries for features like tables and plots. A list of potential tasks can be found in our issue tracker. We also welcome own ideas and suggestions on how to improve it.

Required Skills:

  • JavaScript programming

Useful knowledge/areas of interest:
  • React
  • Web technologies
  • UI

The employment is as a student assistant (HiWi) with up to 12 hours per week. The working hours can be arranged flexibly. A long-term cooperation over several semesters is generally desired from our side. If you are interested or if any questions are left, please contact me directly via Zulip or mail.

Languages: German and English

Contact: Philipp Wendler
🔬 VerifierCloud: Cloud Service for Benchmarks
We are currently looking for several student research assistants for our cloud solution for distributed execution of verification benchmarks. The VerifierCloud is the fundamental component for running international scientific competitions (SV-COMP, Test-Comp) and meaningful experiments for publications at our chair. In this context, the VerifierCloud dynamically manages the reliable distribution of benchmarks to our chair-owned cluster. In addition, computing resources are also made available via a web frontend for experiments in the context of student work at our chair. If you have found fun in Java programming in the SEP and would like to expand your knowledge by working on a real project, this is the right place for you. The VerifierCloud has been actively developed for several years and is in productive use on a daily basis (e.g., over 50,000 benchmarks on quiet days alone).

Required Skills:
  • Java programming
  • Basic Linux knowledge

Useful knowledge/areas of interest:
  • Software Verification
  • Web technologies
  • Parallel programming

The employment is as a student assistant (HiWi), whereby the number of hours per week can be flexibly adjusted (but should not be less than 5 hours per week). The working hours can be arranged flexibly. A long-term cooperation over several semesters is generally desired from our side. If you are interested or if any questions are left, please contact me directly via Zulip or mail.

Languages: German and English

Contact: Martin Spiessl
🔬 CPAchecker: The Configurable Software-Verification Platform
We are currently looking for student research assistants at the chair. We are mainly concerned with software safety. The internationally awarded framework CPAchecker supports a variety of analyses and approaches for the verification of C programs. CPAchecker offers several thousand different configuration options and allows to easily integrate new ideas. Basically, it verifies a given C program with respect to a specification, such as "the reach_error function is never called", and tells the user if there are paths through the program that violate that specification. CPAchecker annually participates very successfully in SV-COMP, the largest international competition for software verifiers. If you have found fun in Java programming and want to expand your knowledge in the world of formal verification by working on a real project, this is the right place for you. CPAchecker has been under active development for several years and is used, among other things, to verify parts of the Linux kernel.

Required Skills:
  • Java programming
  • Basic Linux knowledge
  • First experiences with formal methods in software verification

Useful knowledge/areas of interest:
  • Software Verification
  • Interest in research and experimenting

The employment is as a student assistant (HiWi), whereby the number of hours per week can be flexibly adjusted (but should not be less than 5 hours per week). The working hours can be arranged flexibly. A long-term cooperation over several semesters is generally desired from our side. If you are interested or if any questions are left, please contact me directly via Zulip or mail.

Languages: German and English

Contact: Matthias Kettl
🔬 Development of Tools and Microservices for Code Analysis

We aim to apply our achievements in software-verification research to various real-world applications. In this role, you will be part of a small team that designs and develops tools to make code analysis more accessible and better scalable for everday software development. A focus is on increasing the usability and the speed. You will have the opportunity to work on projects like IDE plugins, micro-service infrastructures, and integrations in CI pipelines.

This job is for you, if:

  • you proud yourself with high-quality code
  • you are enthusiastic about developer tooling
  • you are interested in the field of compilers and software analysis (parsers, code transformations, static analysis)
  • you can manage yourself well

Required Skills:

  • Programming experience in Java, Kotlin, or C++
  • Basic knowledge in code analysis and/or software verification (example: lectures on formal specification and verification).

Employment: The employment is as a student assistant (HiWi) with 7 to 12 hours per week. The day and time of work can be arranged flexibly in certain bounds. A long-term cooperation over several semesters is generally desired from our side.

Languages: German and English

Contact: Thomas Lemberger
Please contact us via Zulip or mail. We're always available for questions.
🔬 Bridging Hardware and Software Analysis

Background: Computational systems consisting of both hardware and software components are used everywhere in modern society. The correctness assurance of theses systems is thus an indispensable research area. In this project, we aim at utilizing the joint knowledge of both hardware and software verification communities by

  • optimizing the applicability of software analyzers to hardware designs,
  • constructing a framework that facilitates the utilization of off-the-shelf hardware analyzers for software, and
  • combining strengths of hardware and software verification algorithms to solve practical problems.

Job description: We are looking for students that can assist us in the following tasks.

Requirements:

  • Programming experience in C/C++ and Python
  • Basic Linux skills
  • Knowledge in formal verification and testing

Employment: The employment is as a student assistant (HiWi) with 7 to 12 hours per week. The day and time of work can be arranged flexibly in certain bounds. A long-term cooperation over several semesters is generally desired from our side.

Languages: English

Contact: Po-Chun Chien and Nian-Ze Lee

Tutorship

We are looking for tutors in the below listed subjects. Please contact me with your transcript of records to schedule a meeting with me. We are happy to hear from you! Do not hesitate to contact me in case of any questions.

📝 Einführung in die Informatik (mit Python)
Als TutorIn für die Einführungsveranstaltung in die Informatik (InfoEinf) für Nebenfächler hältst du wöchentlich eine zweistündige Übung für die StudentInnen ab. Außerdem unterstützt du uns beim Korrigieren der Abgaben und bei der Organisation der Klausuren. In einem ebenfalls zweistündigen und wöchentlich stattfindeten TutorInnentreffen lernst du die anderen TutorInnen kennen und wir tauschen uns über die Korrekturen und aufkommende Fragen aus. Wenn Du gut in Python bist und dein Wissen gerne mit anderen Studenten teilst, würden wir uns freuen, Dich in unserem Team willkommen zu heißen.

Anmerkung: Die Veranstaltung "Einführung in die Informatik" wird ab dem WS 2022/23 von Java zu Python als primäre Programmiersprache wechseln.

Wir können Dir einen der folgenden Verträge anbieten:
  • Bei einer Gruppe: 9h / Woche über 5 Monate
  • Bei zwei Gruppen: 13h / Woche über 6 Monate (Bei zwei Gruppen sind es in Summe etwas weniger Stunden, da das Tutorentreffen ja nur einmal anfällt.)

Vertragsbeginn: 01.10.2023 oder 17.10.2023 bis 14.04.2024

Sprache: Deutsch

Contact: Matthias Kettl
📝 Formale Spezifikation und Verifikation
Wir suchen ein oder zwei TutorInnen zur Unterstützung für die Vorlesung FSV. Die regelmäßigen Aufgaben umfassen eine wöchentliche Besprechung, sowie das Abhalten einer wöchentlich zweistündigen Übung für die StudentInnen. Außerdem unterstützt Du uns beim Korrigieren spannender Praxisprojekte (2 bis 3 insgesamt). Wir bieten dir die Möglichkeit neue Technologien auszuprobieren und freuen uns über deine Hilfe beim Ausprobieren und Proberechnen unserer Übungsaufgaben. Am Ende des Semesters hilfst du uns bei der Aufsicht und der Korrektur der Haupt- und Nachklausur. Wenn du FSV bereits erfolgreich absolviert hast, freuen wir uns über deine Nachricht!

Vertragsdauer: 17.10.2023 bis 14.04.2024 (6 Monate) mit 9 Wochenstunden.

Sprache: Deutsch

Contact: Matthias Kettl
📝 Softwaretechnik
Als TutorIn für die Veranstaltung Softwaretechnik hältst du wöchentlich eine zweistündige Übung für die StudentInnen ab. Außerdem unterstützt du uns beim Korrigieren der Abgaben und bei der Organisation der Klausuren. Vereinzelt trifft sich das TutorInnen-Team mit den Dozenten, um offene Fragen zu klären und um euch die Möglichkeit zum Austausch innerhalb des Teams zu geben. Wenn du selbst gut in Softwaretechnik abgeschnitten hast und dein Wissen gerne mit anderen StudentInnen teilen möchtest, würden wir uns freuen, dich in unserem Team willkommen zu heißen.

Die Vertragsdauer beträgt 5 Monate (17.10.2023-15.03.2024) mit 8 Wochenstunden.

Sprache: Deutsch

Contact: Matthias Kettl