Daniel Jackson

Daniel Jackson


Daniel Jackson is a professor in the Department of Electrical Engineering and Computer Science, and leads the Software Design Group in the Computer Science and Artificial Intelligence Laboratory. He received an MA from Oxford University (1984) in Physics, and his SM (1988) and PhD (1992) from MIT in Computer Science. He was a software engineer for Logica UK Ltd. (1984-1986), Assistant Professor of Computer Science at Carnegie Mellon University (1992-1997), and has been at MIT since 1997.

He has broad interests in software engineering, especially in development methods, design and specification, formal methods, and safety critical systems.


Redesigning Air-Traffic Control: A Case Study in Software Design

Daniel Jackson and John Chapin.

IEEE Software, May/June 2000.

Automating First-Order Relational Logic

Daniel Jackson.

Proc. ACM SIGSOFT Conf. Foundations of Software Engineering.

San Diego, November 2000.

A Micromodularity Mechanism.

Daniel Jackson, Ilya Shlyakhter and Manu Sridharan.

ACM SIGSOFT Conference on Foundations of Software Engineering / European Software Engineering Conference (FSE/ESEC).

Vienna, Austria, September 2001.

A Type System for Object Models.

Jonathan Edwards, Daniel Jackson and Emina Torlak.

Foundations of Software Engineering (FSE).

Newport Beach, CA, November 2004.

Debugging Overconstrained Declarative Models Using Unsatisfiable Cores.

Ilya Shlyakhter, Robert Seater, Manu Sridharan, Mana Taghdiri and Daniel Jackson.

IEEE International Conference on Automated Software Engineering (ASE).

Montreal Canada, October 2003.


  • Association for Computing Machinery: Fellow (2016)
  • ACM Special Interest Group on Software Engineering: Impact Paper Award (2016)
  • ACM Special Interest Group on Software Engineering: Distinguished Paper Award (2015)
  • MIT EECS: Bose Award for Excellence in Teaching (2010)
  • MIT EECS: MacVicar Faculty Fellow (2009)
  • IBM: Faculty Research Award (2003)