We are hiring new student research assistants and tutors. Apply now!
Google summer of code: We are offering projects and mentorship!
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

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.

📝 Softwareentwicklungspraktikum Java (SEP-Java)

Tätigkeit:

Für unser Softwareentwicklungspraktikum Java (SEP-Java) suchen wir noch Tutoren. Du kannst gut programmieren, möchtest dein Wissen weitergeben und dich selbst weiterentwickeln? Dann hast du hier die Möglichkeit, dich zu verwirklichen! Im Rahmen deiner Arbeit übernimmst du die eigenständige Betreuung von mindestens 2 Gruppen mit jeweils 6 Studierenden, und unterstützt diese durch technische und organisatorische Beratung. Die Tutorentätigkeit wird dir vergütet und bietet darüber hinaus die Möglichkeit, dir diese Tätigkeit für das Modul "Fachübergreifende Kompetenzen" im Studium anrechnen zu lassen. Nachfolgend die Stellenbeschreibung für den Job.

Ablauf des Praktikums:

Das Praktikum ist in 2 Phasen eingeteilt: Bis etwa Pfingsten läuft die 1. Phase, in der die Studierenden Einzelaufgaben lösen müssen. Ab ca. Pfingsten startet die 2. Phase, in der die Studierenden in Gruppen von etwa 6 Personen ein größeres Projekt in Java implementieren (meist ein Online-Spiel).

Deine Aufgaben:

Während der ersten Phase korrigierst du die Abgaben der Studierenden und gibst ihnen damit wertvolles Feedback, das ihnen hilft ihr individuelles Programmierkönnen zu festigen. Während der zweiten Phase coachst du Studi-Teams, um ihnen zu einem erfolgreichen Projektabschluss zu verhelfen. Dazu triffst du dich mindestens einmal in der Woche mit deinen Teams, beurteilst den aktuellen Projektstand und unterstützt bei Fragen.

Dein Profil:

Wir freuen uns über Bewerbungen von Student:innen mit einer sehr guten Note im SEP-Java oder ersten Praxiserfahrungen in der objektorientierten Programmierung.

Tutorenvertrag:

Vertragslaufzeit ist vom 17.04.2023 bis 21.07.2023. Unterschiedliche Arbeitszeiten sind möglich, beispielsweise 9h/Woche zur Betreuung von 2 Gruppen, oder 12h/Woche zur Betreuung von 3 Gruppen. Gerne können wir hier auch individuelle Vereinbarungen treffen. Bei Interesse melde dich einfach unverbindlich bei mir, dann besprechen die weiteren Schritte.

Sprache: Deutsch

Contact: Matthias Kettl