CS 477

CS 477 - Formal Software Devel Methods

Fall 2026

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Formal Software Devel MethodsCS477B364565LCD31100 - 1215 T R  3018 Campus Instructional Facility Madhusudan Parthasarathy
Formal Software Devel MethodsCS477B464566LCD41100 - 1215 T R  3018 Campus Instructional Facility Madhusudan Parthasarathy
Formal Software Devel MethodsECE478B366706LCD31100 - 1215 T R    Madhusudan Parthasarathy
Formal Software Devel MethodsECE478B466707LCD41100 - 1215 T R    Madhusudan Parthasarathy

Official Description

Mathematical models, languages, and methods for software specification, development, and verification. Course Information: Same as ECE 478. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225; one of CS 374, ECE 374 or MATH 414.

Text(s)

Varies by semester.

Learning Goals

Be able to do solve problems using structural induction (1,6)

Write code contracts, invariants, and assertions that describe a program's specification formally. (3, 5, 6)

Analyze a program with assertions and find inductive invariants to prove the program correct (1,2, 6)

Given a program with assertions and inductive invariants, be able to derive verification conditions in logic. (1,2,6)

Be able to formulate specifications and properties of structures in logic. (1,2)

Give proofs in Hoare Logic of properties about simple imperative programs. (1,2,6)

Build an abstract interpretation scheme for a program that is sound with respect to given desired properties. (1,2,6)


Topic List

Formal Logics
Hoare Logic
Abstract Interpretation

Required, Elective, or Selected Elective

Selected Elective.

Last updated

2/14/2019by Madhusudan Parthasarathy