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:
- Riffle: a new architecture for local-first applications in which all state (including UI state) is held locally in a relational database;
- LaCHs: in collaboration with colleagues in the Internet Policy Initiative, a new approach to recognizing and fixing dark patterns;
- Espalier: a new kind of spreadsheet, augmented with object structure, to support low-code development of apps;
- Déjà Vu: a framework for implementing conceptual design in which an app is constructed with almost no code, using a library of prebuilt concepts;
- Wildcard: a web extension for end-user customization of web apps;
- Certified control: an architecture for safety critical control systems (such as autonomous cars) that avoids reliance on replication, with an interlock that checks a controller-generated certificate of safety;
- Alloy: a modeling language and analyzer for software design, recently extended with temporal logic features.
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).