Bachelorseminar "Software Quality Assurance"

Beschreibung

Content

Software quality assurance incorporates approaches and procedures, etc. to ensure that the software meets desired quality criteria, e.g., defined by standards. In this seminar, we focus on quality assurance at the code level. On the one hand, we look into approaches to detect quality issues, e.g., approaches considering bug patterns, code or test smells. On the other hand, we study approaches that prevent quality issues like style guides or coding conventions.

People

Prof. Dr. Marie-Christine Jakobs
Martin Spießl

Organization

The seminar will be held in presence on Tuesdays, 16-18 in Oettingenstraße 67.

This seminar will be in English.

Topics

Bug Pattern Detectors:

  1. FindBugs
    David Hovemeyer, William W. Pugh: Finding bugs is
    easy, ACM SIGPLAN Notices 39(12), 2004
  2. ErrorProne
    Edward Aftandilian, Raluca Sauciuc, Siddharth Priya,
    Sundaresan Krishnan: Building useful program analysis
    tools using an extensible Java compiler, SCAM, 2012
  3. JavaDL
    Alexandru Dura, Christoph Reichenbach, Emma
    Söderberg: JavaDL: Automatically incrementalizing Java
    bug pattern detection, Proc. ACM Program. Lang.
    5(OOPSLA), 2021

Recent Greybox Fuzzing Approaches:

  1. ParmeSan
    Sebastian Österlund, Kaveh Razavi, Herbert Bos,
    Cristiano Giuffrida: ParmeSan: Sanitizer-guided greybox
    fuzzing, USENIX Security Symposium, 2020
  2. Confetti
    James Kukucka, Luís Pina, Paul Ammann, Jonathan Bell:
    CONFETTI: Amplifying concolic guidance for fuzzers,
    ICSE, 2022
  3. BeDivFuzz
    Hoang Lam Nguyen, Lars Grunske: BEDIVFUZZ:
    Integrating behavioral diversity into generator-based
    fuzzing, ICSE, 2022

Detection of Smells and Antipatterns:

  1. DECOR
    Naouel Moha, Yann-Gaël Guéhéneuc, Laurence Duchien,
    Anne-Françoise Le Meur: DECOR: A method for the
    specification and detection of code and design smells,
    IEEE TSE 36(1), 2010
  2. SAND
    Yingjun Lyu, Sasha Volokh, William G. J. Halfond, Omer
    Tripp: SAND: A static analysis approach for detecting
    SQL antipatterns. ISSTA, 2021
  3. PyNose
    Tongjie Wang, Yaroslav Golubev, Oleg Smirnov, Jiawei
    Li, Timofey Bryksin, Iftekhar Ahmed: PyNose: A test
    smell detector for Python, ASE, 2021

Improving Adherence to Coding Conventions:

  1. Naturalize
    Miltiadis Allamanis, Earl T. Barr, Christian Bird, Charles
    Sutton: Learning natural coding conventions, FSE, 2014
  2. Styler
    Benjamin Loriot, Fernanda Madeiral, Martin Monperrus:
    Styler: learning formatting conventions to repair
    Checkstyle violations. Empir. Softw. Eng. 27(6), 2022
  3. Conventions via Gamification
    Christian R. Prause, Matthias Jarke: Gamification for
    enforcing coding conventions, FSE, 2015

Experience Reports:

  1. PMD Experience
    Alexander Trautsch, Steffen Herbold, Jens Grabowski: A
    longitudinal study of static analysis warning evolution and
    the effects of PMD on software quality in Apache open
    source projects, Empir. Softw. Eng. 25(6), 2020
  2. SonarQube Experience
    Francesco Lomio, Sergio Moreschini, Valentina
    Lenarduzzi: A machine and deep learning analysis among
    SonarQube rules, product, and process metrics for fault
    prediction, Empir. Softw. Eng. 27(7), 2022

Presentation Schedule

13.06.
Confetti (Supervisor: Jakobs)
BeDivFuzz (Supervisor: Jakobs)

20.06.
ParmeSan (Supervisor: Spiessl)
PMD Experience (Supervisor: Spiessl)

27.06.
FindBugs (Supervisor: Jakobs)
ErrorProne (Supervisor: Spiessl)

04.07.
DECOR (Supervisor: Spiessl)
SAND (Supervisor: Jakobs)

11.07.
PyNose (Supervisor: Spiessl)
Conventions via Gamification (Supervisor: Jakobs)

18.07.
Naturalize (Supervisor: Jakobs)
Styler (Supervisor: Spiessl)

Institut
Institut für Informatik
Dozent:in
Assistent:in
Kursadministration
Kursteilnehmer:innen
12 von 12
Zentralanmeldung
Bachelorseminare
Anweisungen zur Anmeldung

It is recommended to have attended the lecture “Formale Spezifikation und Verifikation” before.

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
Termine
ArtZeitRegulärer RaumNotiz
Seminar
  • Di 16:00–18:00
Room 067, Oettingenstraße 67