• Research Team
  • Researchers
  • - Nuseibeh, Bashar
  • - Wermelinger, Michel
  • - Yu, Yijun
  • - Bandara, Arosha

Automated Software Engineering

We are investigating automated techniques and developing tools to support human activities in software development, from analysis and design, to implementation, testing, and maintenance. We have developed a number of automated engineering tools for:

  • monitoring and diagnosing software requirements;
  • analysing ambiguity in natural language requirements sentences;
  • measuring and predicting evolution trends in software architectures;
  • modelling and verifying access control properties on evolving software design models;
  • generating code to enforce security properties in the design models;
  • restructuring programs to gain better understanding and higher performance;
  • specifying and detecting meaningful changes in programs; and
  • relating the program code back to requirements of human stakeholders.