SWE 623: Formal Methods in Software Engineering


Objective (as stated in the course catalog)

This is a course in formal mechanisms for specifying, validating and verifying software systems. Program verification through Hoare's method and Dijkstra's weakest preconditions. Formal specification and refinement towards implementation. Integration of formal methods with existing programming languages, and the application of formal methods to requirements analysis, testing, safety analysis, and object-oriented approaches.

Prerequisites

SWE Foundation courses + SWE 619 (alternatively CS 540 and CS571)

Course Material

  1. The Object Constraint Language by Jos Warmer and Anneke Kleppe, ISBN 0-201-37940-6.
  2. Modelling and Reasoning about Systems by Huth and Ryan, ISBN 0-521-65602-8.
  3. Potter, Sinclair, and Till: An Introduction to Formal Specification and Z , Second Edition. ISBN 0-13-242207-7.

Teaching

  1. Class Meetings:Tuesday 7:20pm-10pm in Krug 05
  2. Instructor: Duminda Wijesekera, email: dwijesek@gmu.edu
  3. Instructor Office Hours:Tuesday from 6.00 to 7.00 pm, in ST II Rm 351
  4. Teaching Assistant:Unknown as of yet, email: dontMailMe@gmu.edu
  5. TA Office Hours:Unknown, in ST II Rm 268.

Grading Policy

Grades are computed as: Assignments: 35%, Quizzes: 30%, Final (or Project): 35%. Late Submissions: Discouraged, but allowed under exceptional circumstances with prior approval of the instructor.

Quizzes

Each class begins with a short quiz. Each quiz covers material from the previous session(s). The goal of the quizzes is to keep students abreast of the material covered in class. Because of the quizzes, there is no midterm exam. A guide published prior to each quiz helps students focus on the relevant material.

Final Exam

An optional final exam is held during the University-scheduled exam period. On the final, a student must demonstrate reasonable competence with the course material to receive a B or better in the class. Project Option With approval of the instructor, a student may elect to replace the final with a project. The intent is to give interested students the opportunity to apply material from the class in greater depth than homework assignments allow. A good way to think about the project is to imagine submitting your work as a technical paper to a scientific conference. (An outstanding project might well end up in exactly this situation.) The instructor's role is to approve project proposals and to referee the final product. While the instructor is more than happy to discuss potential project ideas with any student, the instructor will not supply a "canned" project recipe. If you find yourself unable or unwilling to design and complete a project, simply take the final instead.

Announcements

  1. 10/22/02-Hrs 15.00 No homework this week!
  2. 09/25/02-Hrs 8.45 Syllabus revised to reflect latest schedule.
  3. 09/25/02-Hrs 8.40 HW 4 is corrected.
  4. 09/25/02-Hrs 8.35 Z Ch6 transparencies debubbed.
  5. 09/09/02:OCL Actions Paper
  6. 09/03/02-Hrs16.30: Transparencies for OCL and Logic have been added to the syllabus section.
  7. 09/03/02-Hrs16.30: Homework 1 has been added.
  8. 09/03/02-Hrs10.30 The syllabus has been changed so that I will teach propositional logic and predicate logic right after OCL. That means, after PST Ch 1 and 2, I will teach Ch 1 and 2 of HR.


Approximate Schedule


Meeting Date Topic Reading Assignment
1 08/26 Introduction
Review of UML and OCL
WK Ch 1  
2 09/03 Introduction to Formal Methods PST Ch 1 and 2
Begin HR Ch1 and 2
Homework 1
3 09/10 Propositional and Predicate Logic Finish HR Ch 1 and 2 Homework 2
4 09/17 Formal Specification PST 3, 4 Homework 3
5 09/24 Functions, Relations, Schemas PST Ch 6 Homework 4
10/01 Specification Verification PST Ch 9.1-9.3, 9.8 Homework 5
7 10/08 Refinement PST Ch 10 Homework 6
8 10/15 No Class No Quiz! No Homework!
9 10/22 Temporal Logic Model Checking HR 3.1-3.5 No Homework!
10 10/29 SMV (same transparencies as 10/22) HR 3.1-3.5 No HW
11 11/05 Program Verification HR 4.1-4.4 No HW, no quiz
12 11/12 Program Verification HR 4.1-4.4 Homework 7
13 11/19 No Class    
14 11/26 Program Verification and
course wrap-up
HR 4.1-4.4& Quiz
  12/07 Final Exam    


Some Useful Web Pages

  1. Oxford Formal Methods
  2. The SMV web site Cadence
  3. Nu SMV Nu SMV
  4. CMU Version of SMV