|Website:||website containing additional information|
|Period:||period 1 (week 36 through 45, i.e., 2-9-2019 through 8-11-2019; retake week 1 (bachelor) / 2 (master))|
|Participants:||up till now 18 subscriptions|
|Schedule:||Official schedule representation can be found in MyTimetable|
|Teachers:||Dit is een oud rooster!
|Contents:||Most modern software is quite complex. The most widely used approach to verify them is still by testing, which is inherently incomplete and hard to scale up to cover the complexity. In this course we will discuss a number of advanced validation and verification techniques that go far beyond ad-hoc testing. Exploiting them is an important key towards more reliable complex software. We will in particular focus on techniques that can be automated, or at least partially automated:
Learning goals: to become familiar with, and acquire insight on the underlying concepts of:
Prerequisites: background in predicate logic, experience with a functional programming language, e.g. Haskell or ML.
|Literature:||Lecture notes, on-line documentation, and papers.|
|Exam form:||In principle 20% assignments, 25% projects, 55% exams. This can be changed depending on the composition of the projects, but in any case the exam form and grading will be announced and fixed at the start of the course.|
|Minimum effort to qualify for 2nd chance exam:||Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.|