Software Engineering

Members of the software engineering research group are dedicated to creating reliable, maintainable, and adaptable software. By providing a strong engineering foundation and robust programming tools, they enable programmers to automate routine functions and focus on higher-level programming.

The group’s best-known contribution to the field of software engineering is the Law of Demeter, a software design guideline based on the idea that an object should assume as little as possible about the structure or properties of anything else, including its subcomponents. Group members were also very early contributors to object-oriented and aspect-oriented software design and to the Semantic Web.

Team Achievements

  • Invented the Law of Demeter and later tools, including Demeter/Java and DemeterF, an implementation of functional adaption programming
  • Pioneered and published the first model for aspect-oriented software design, a modular approach to constructing software
  • Developed the best performing consistency checker for Web Ontology Language (OWL) Full, the language of the Semantic Web
  • Developed the best performing consistency checker for Web Ontology Language (OWL) Full, the language of the Semantic Web;
  • Developed Task-Oriented Parallel C (TOP-C), open-source software that makes it easy to write parallel applications for both distributed and shared-memory architectures
  • Created and released DMTCP (Distributed MultiThreaded Checkpointing), a transparent checkpointing tool, and FReD (Fast Reversible Debugger), a universal reversible debugger that uses a novel form of checkpoint restart
  • Developed an operator interface for NASA’s Mars Exploration Rover Mission