Microsoft Research announced the four recipients of the Excellence in Software Engineering awards, totaling $200K in funding. Criteria for the Excellence in Software Engineering award was for creation of a new course or series of courses designed to introduce students to the various aspects of Lightweight Formal Methods. The courses designed at these universities will reinforce some of the needed directions in curriculum in the area of Software Engineering.
Formal Methods in Software Development Courses
Massachusetts Institute of Technology
The aim is to make formal methods easier to use, by building and providing tools that apply specifications to software development tasks. We will be enhancing our curriculum by integrating formal methods into two courses. Once existing core course and one new elective. These enhancements and new course structure will be in the Spring and Fall of 2005.
A Course Project for Teaching Lightweight Formal Methods
A course organized around the technology of bug finding and verification, where the students do not write programs but rather discover problems in widely used software, can teach students important science and technology as well as practical skills for improving software quality. This course will consist of lectures on algorithms and systems for improving software quality as well as a comprehensive Capstone assignment.
Using SeSF to Formally Define and Test Programs Course
A. Udaya Shankar
University of Maryland
The SeSF-C# project will integrate SeSF (Services and Systems Framework) into C#, resulting in a specification and testing environment for distributed C# programs. SeSF is a compositional formalism for specification and verification of distributed systems. We will integrate SeSF into C# by treating SeSF as a markup language and deploying a testing harness.
Formal Models for Software Systems Design
Carnegie Mellon University
Creating a novel formal methods course and accompanying materials that will empower students to use the best of modern formal methods and tools available today and tomorrow, to recognize when they are and are not appropriate, and to apply them in cost-effective ways to real software systems. Professionally packaged for on-campus and distance delivery, an extensible framework, a set of benchmark case studies, and publications describing our course design and experience.