General
- study semester
-
5-6
- standard study semester
-
6
- cycle
- occasional
- duration
- 1 semester
- SWS
- 4
- ECTS
- 6
- teaching language
- English
People
- responsible
-
Prof. Dr. Andreas Zeller
- lectures
-
Prof. Dr. Andreas Zeller
Assessment & Grades
- entrance requirements
-
Programming 1, Programming 2, Softwarepraktikum
- assessment / exams
Projekte und Mini-Tests
- grade
Das Modul ist insgesamt bestanden, wenn die Prüfungsleistung bestanden wurde.
Workload
- course type /weekly hours
2 h lectures
+ 2 h tutorial
= 4 h (weekly)
- total workload
60 h of classes
+ 120 h private study
= 180 h (= 6 ECTS)
Aims / Competences to be developed
Software has bugs and catching bugs can involve lots of effort. Yet, finding bugs is important especially when these bugs are critical vulnerabilities. This course addresses this problem by automating software testing, specifically by generating tests automatically. Students learn the basics of general testing and security testing and explore the most important tools and techniques for generating software tests.
Content
- Introduction to Software Testing
- Fuzzing: Breaking Things with Random Inputs
- Mutation-Based Fuzzing
- Greybox Fuzzing
- Search-Based Fuzzing
- Fuzzing with Grammars
- Parsing Inputs
- Probabilistic Grammar Fuzzing
- Fuzzing with Generators
- Reducing Failure-Inducing Inputs
- Mining Input Grammars
- Concolic Fuzzing
- Symbolic Fuzzing
- Testing APIs
- Testing Web Applications
- Testing Graphical User Interfaces
- When To Stop Fuzzing
Literature & Reading
The teaching material consists of text, Python code, and Jupyter Notebooks from the textbook “The Fuzzing Book” (https://www.fuzzingbook.org/) in English.
Additional Information
Curriculum
This module is part of the following study programmes:
Cybersicherheit BSc: Vertiefungsvorlesungen der Cybersicherheit
study semester: 5-6 / standard study semester: 6
Cybersecurity MSc: Vertiefungsvorlesungen Cybersecurity
study semester: 1-3 / standard study semester: 4
Cybersecurity BSc (English): Kernthemen der Cybersicherheit
study semester: 5-6 / standard study semester: 6