Software Reliability Methods: Course Syllabus


Overview

The need for highly dependable software systems continues to grow rapidly. Embedded within automobiles, aircraft, medical equipment, entertainment, household, and productivity devices, safety-critical systems have found their way into all facets of our daily lives. Advances in wired and wireless networking infrastructure enable an unprecedented degree of interconnection between previously separate functional entities. Increasingly, the resulting degree of complexity becomes the limiting factor for providing correct, safe and secure implementations of new applications, as well as for enhancing existing solutions by means of new features.

In this course we will study theory, methods and tools for establishing reliable software systems. In particular, we will visit the following topics:


Grading

There will be no final exam. This class is seminar-style, with a strong reading component. The grade will be determined based on individual achievements and teamwork. Individual achievements are participation in classroom discussion, and at least three paper presentations in class. Project teamwork consists of 2-3 students working together on some aspect of system verification (this can include composition, experimentation and enhancement of tools for software modeling and verification). This involves writing a project progress report (max. 5 pages), and a final project report (max. 20 pages) as a team effort. The details regarding the papers to read, and the project topics will be discussed during the first class meeting. Individual achievements and teamwork contribute as follows to the overall grade:


Paper reviews

For each paper that we read, you will write a review. The reviews will consist of three parts:
  1. A two sentence summary of the paper. This is intentionally a short summary. It will require you to boil down the paper to its essence.
  2. Three interesting points about the paper, in bullet form. You can, for example, point out strengths, point out weaknesses, compare with other approaches.
  3. Questions that you have about the paper, to help us determine how class time should be spent.