Software Systems Engineering Group
Department of Computer Science
University College of London
I am an Associate Professor in the Software Systems Engineering Group of the Department of Computer Science at University College London.
My research is about software requirements and architecture. I study how to discover, analyse and communicate the requirements and architecture for complex software systems.
The principle idea of my research is that stakeholders’ goals are key abstractions for deriving and evaluating software requirements and architecture. These goals can be defined precisely using a combination of natural language, formal logic, and mathematical models that allow for rigorous and automated analysis.
Analysing stakeholders’ goals includes analysing tradeoffs between conflicting goals, anticipating obstacles to the satisfaction of goals, and dealing with the inevitable uncertainty of the impacts of requirements and architecture decisions on these goals.
Stakeholders’ goals, together with domain assumptions, can be used to derive software requirements and architecture that are ‘correct by construction’. Often, however, the process of elaborating software requirements and architecture involves the iterative debugging and optimisation of the requirements, architecture and code with respect to ever-changing goals. Sound automated techniques, such as the ones developed in my research, can greatly facilitate this iterative process.
I teach a course on software requirements and architecture to MSc students at UCL and supervise students projects in collaboration with industry.
I have joined UCL as a lecturer in 2006. I have a PhD in Software Engineering from the University of Louvain in Belgium. Before my PhD, I graduated with an engineering degree in Applied Mathematics and a degree in Philosophy from the same university.
I was Program Co-Chair of the International Requirements Engineering Conference in 2016. I regularly serve in program committees for various conferences, notably for the International Requirements Engineering Conference (RE) and the International Conference in Software Engineering (ICSE). I was chair the BCS Requirements Engineering Specialist Group from 2011 to 2017 and head of UCL Software Systems Engineering group from 2017 to 2020.