263-2815-00L  Automated Software Testing

SemesterFrühjahrssemester 2023
DozierendeZ. Su
Periodizitätjährlich wiederkehrende Veranstaltung
LehrspracheEnglisch
KommentarLast cancellation/deregistration date for this graded semester performance: 17 March 2023! Please note that after that date no deregistration will be accepted and the course will be considered as "fail".



Lehrveranstaltungen

NummerTitelUmfangDozierende
263-2815-00 VAutomated Software Testing2 Std.
Di12:15-14:00CAB G 61 »
Z. Su
263-2815-00 UAutomated Software Testing1 Std.
Mo17:15-18:00CAB G 51 »
Z. Su
263-2815-00 AAutomated Software Testing3 Std.Z. Su

Katalogdaten

KurzbeschreibungThis course introduces students to classic and modern techniques for the automated testing and analysis of software systems for reliability, security, and performance. It covers both techniques and their applications in various domains (e.g., compilers, databases, theorem provers, operating systems, machine/deep learning, and mobile applications), focusing on the latest, important results.
Lernziel* Learn fundamental and practical techniques for software testing and analysis

* Understand the challenges, open issues and opportunities across a variety of domains (security/systems/compilers/databases/mobile/AI/education)

* Understand how latest automated testing and analysis techniques work

* Gain conceptual and practical experience in techniques/tools for reliability, security, and performance

* Learn how to perform original and impactful research in this area
InhaltThe course will be organized into the following components: (1) classic and modern testing and analysis techniques (coverage metrics, mutation testing, metamorphic testing, combinatorial testing, symbolic execution, fuzzing, static analysis, etc.), (2) latest results on techniques and applications from diverse domains, and (3) open challenges and opportunities.

A major component of this course is a class project. All students (individually or two-person teams) are expected to select and complete a course project. Ideally, the project is original research related in a broad sense to automated software testing and analysis. Potential project topics will also be suggested by the teaching staff.

Students must select a project and write a one or two pages proposal describing why what the proposed project is interesting and giving a work schedule. Students will also write a final report describing the project and prepare a 20-30 minute presentation at the end of the course.

The due dates for the project proposal, final report, and project presentation will be announced.

The course will cover results from the Advanced Software Technologies (AST) Lab at ETH as well as notable results elsewhere, providing good opportunities for potential course project topics as well as MSc project/thesis topics.
SkriptLecture notes/slides and other lecture materials/handouts will be available online.
LiteraturReading material and links to tools will be published on the course website.
Voraussetzungen / BesonderesThe prerequisites for this course are some programming and algorithmic experience. Background and experience in software engineering, programming languages/compilers, and security (as well as operating systems and databases) can be beneficial.

Leistungskontrolle

Information zur Leistungskontrolle (gültig bis die Lerneinheit neu gelesen wird)
Leistungskontrolle als Semesterkurs
ECTS Kreditpunkte7 KP
PrüfendeZ. Su
Formbenotete Semesterleistung
PrüfungsspracheEnglisch
RepetitionRepetition nur nach erneuter Belegung der Lerneinheit möglich.
Zusatzinformation zum PrüfungsmodusThe final course grade will be determined by:
(1) a mandatory project: 70%
(2) a midterm exam: 30%

Students who are repeating the course are required to repeat both the project work and the midterm exam.

Lernmaterialien

 
HauptlinkInformation
Es werden nur die öffentlichen Lernmaterialien aufgeführt.

Gruppen

Keine Informationen zu Gruppen vorhanden.

Einschränkungen

BelegungsendeBelegung nur bis 17.03.2023 möglich

Angeboten in

StudiengangBereichTyp
CAS in InformatikVertiefungsfächer und WahlfächerWInformation
Informatik MasterKernfächerWInformation
Informatik MasterErgänzung in Programming Languages and Software EngineeringWInformation