Software Design Group (original) (raw)

The Software Design Group at MIT’s Computer Science and Artificial Intelligence Laboratory explores new ways to design software. Our ultimate goals are to improve the quality of software, making it more usable and robust, and to help developers achieve this with less effort and cost. The problems we address are usually the focus of the fields of software engineering and human-computer interaction, but the ideas and techniques we use tend to be drawn from the fields of programming languages and formal methods. We are also strongly influenced by work in design, most notably by Christopher Alexander.

The centerpiece of the group’s work is currently conceptual design, a new theory of software design that addresses the most fundamental issues in software design that are rarely even made explicit: what functionality actually gets built and how it’s structured. More information about Daniel Jackson’s recent book on conceptual design, and a series of posts applying conceptual design in a variety of contexts, on a separate website. be found here.

Recent projects include:

Our group consists of postdocs, research staff, doctoral and masters students and undergraduate researchers. If you’re interested in finding out more about the group, do contact us!


Research described on this website was supported by a grant from the International Design Center at the Singapore University of Technology and Design (SUTD); by a grant from a collaboration between CSAIL and the Wistron Corporation; and by the National Science Foundation under grants 0541183 (Deep and Scalable Analysis of Software) and 0707612 (CRI: CRD — Development of Alloy Tools, Technology and Materials).