Software Quality Assurance (Master Seminar)

Aktuelles
  • Information for students seeking a seminar seat

    This seminar is full and it is unlikely that seats become free again, apologies. Note, as a docent I have little influence over how the seats are distributed by Uni2Work.

    Please keep in mind to register for “Zentralanmeldung” next semester if you missed it this time, best put a note in your calendar already.

    Zuletzt verändert: Do 15 Apr 2021 11:00

Beschreibung

Topic

This master seminar introduces the students to different aspects of software quality assurance (QA): state of the art techniques, tools, case studies, challenges and opportunities. Participants will review scientific literature, experiment with tools (where available) to understand the details of the assigned topic, and present it to others in a clear way, using their own words.

Organization: The seminar will be held (mostly) online, with a meeting in person at the end if possible.

The seminar will be held in English, including the introduction and discussions, but selected topics are available in German.

Content and Schedule (exact deadlines to be decided)

  • we will virtually meet a couple of times as a group to discuss aspects of good presentations and good writing, how to conduct literature research, and so on
  • before the end of the teaching period, each participant prepares and submits a video recording of their presentation
  • after the end of the teaching period, everybody submits their written report (roughly: August)

Requirements

  • give a presentation of 25 minutes including a practical demo if possible
  • submit a report of approx. 10-12 pages, style: LNCS
  • both the presentation and the report must be discussed with your advisor in advance to submission
  • participants are responsible for themselves to adhere to rules of proper scientific conduct and adequate citations (we will discuss what that means and you can always ask)

All requirements are strict and each one must be satisfied to pass the seminar.
The seminar will give 6 ECTS points.

Topics

Quality Assurance in the Real World

  1. seL4 Kernel: the world’s first fully verified operating system kernel (Assigned)
    • Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, Simon Winwood:
      seL4 - formal verification of an OS kernel
    • Toby C. Murray, Daniel Matichuk, Matthew Brassil, Peter Gammie, Timothy Bourke, Sean Seefried, Corey Lewis, Xin Gao, Gerwin Klein:
      seL4 - From General Purpose to a Proof of Information Flow Enforcement.
  2. Formal methods at Microsoft (survey/practical)
    • A decade of software model checking with SLAM
    • DART: directed automated random testing
    • Also: Z3, Dafny, Everest, F*, Lean
  3. Amazon AWS verified infrastructure (survey) (Assigned)
    • Continuous formal verification of Amazon s2n
    • How Amazon web services uses formal methods
    • Stratified abstraction of access control policies
    • Reachability analysis for AWS-based networks
  4. Formal methods at Google (survey) (Assigned)
    • Lessons from building static analysis tools at Google
    • Project Zero

Software Testing/Fuzzing

  1. Property based random testing (survey/practical) (Assigned)
    • Fink, George, and Matt Bishop. Property-based testing: a new approach to testing for assurance.
  2. MAGMA ground truth fuzzing benchmark set (practical) (Assigned)
  3. Vasudev Vikram, Rohan Padhye, Koushik Sen: Growing a Test Corpus with Bonsai Fuzzing, ICSE 2021, https://arxiv.org/abs/2103.04388

Verification tools / frameworks

  1. SeaHorn verification framework
  2. Infer (Assigned)
  3. Nitwit (Assigned)
  4. LLVM

Theorem Provers

  1. Coq proof assistant
    - https://coq.inria.fr/

  2. LEAN

  3. Boogie - language and tool

Overview of techniques in an area

  1. Automatic program repair (survey) (Assigned)
  2. Fault localization (survey) (Assigned)
  3. Program synthesis (survey/practical)
  4. Function summaries from formal analyses (survey)
Institut
Institut für Informatik
Dozierende
Kursteilnehmer:innen
12 von 13
Zentralanmeldung
Hauptseminare (Master)
Anweisungen zur Bewerbung

Please write one or two sentences about why you are interested in the topic of software quality assurance, and if applicable mention your prior knowledge or experience with this topic.

Material

Das Kursmaterial ist nur für Mitglieder des Kurses einsehbar, also z.B. für Teilnehmer:innen, Tutor:innen, Korrektor:innen und Verwalter:innen.

Prüfungen
NameAnmeldung abAnmeldung bisTerminPrüfungsanmeldung
Nicht zur Prüfung angemeldet