My main research is in formal reasoning techniques for diagnosing and repairing faults in partial declarative specifications. Methods that are central to my work are model checking, inductive logic programming, abductive reasoning and answer set programming.
My focus has been on developing tool-supported approaches that assist software engineers when designing safety-critical systems including methods for goal operationalisation, vacuity detection in conditional scenarios and obstacle generation. In recent years, this has extended to computational methods for supporting crime analysis where I am particularly interested in developing AI-based techniques for behavioural analysis and case linkage.
Some Professional Activities
- Deputy Editor-in-Chief, IET Software Engineering Journal.
- PC member, 12th International Conference on Formal Aspects of Component Software,
- PC member, 13th International Conference on Software Engineering and Formal Methods,
- Review editor, Frontiers in Computational Intelligence, Robotics and AI.
- PC member, 12th International Conference on Software Engineering and Formal Methods,
- PC member, 22nd International Conference on Requirements Engineering (RE 2014).
- PC member, First International Workshop on Learning and Nonmonotonic Reasoning (LNMR 2013) co-located with LPNMR'13.
- Reviewer, TSE (2014, 2013, 2012), FASE (2014), ICSE (2013) and IET Software (2012).
- PC member, 22nd International Conference on Inductive Logic Programming (2012).
- Co-Chair of International Workshop on Machine Learning Technologies in Software Engineering
- PC member of International Workshop on Requirements Analysis (IWRA 2010).
- Post-Doctoral Officer for BCS Requirements Engineering Specialist Group (2010-present).
- PhD students Officer for BCS Requirements Engineering Specialist Group (2007-2010).