My research focus on the exploration and development of automated techniques for improving software development processes, in terms of the performance of both software engineers and the software artefacts that they produce.
  • Privacy-Aware UAV Flights through Self-Configuring Motion Planning
  • Learning to Classify Algorithms by All Means
  • fAST: Flattening Abstract Syntax Trees in Action
  • ConCodeSe: Locating bugs without Looking back

  • Dragonfly: a Tool Simulating Self-Adaptive Drone Behaviours
  • Handling Facebook Evidence using Verifiable Limited Disclosure

  • Building IoT Software Like Piecing a Puzzle

  • From Bird Watching to Watching Bird
    If we'd used the cloud, we might know where MH370 is now
  • Right hammer versus right nail?
    Requirements and Architectures for Adaptive Twin Peaks
  • When and to whom shall you disclose private information?
    Privacy arguments: analysing selective disclosure requirements for mobile applications.
  • How to monitor classified states of goals?
    Stateful requirements monitoring for self-repairing socio-technical systems.
  • How to protect your changes in generated code?
    Maintaining invariant traceability through bi-directional transformations.
  • Can enterprise benefit from adaptive UI?
    Using interpreted runtime models for devising adaptive user interfaces of enterprise applications.
  • What changes matter to you?
    Specifying and detecting meaningful changes in programs.
  • Is your PIN entry device secure?
    RISA: a risk-based argumentation method for practical security.
  • Are your sites down?
    Requirements-driven self-tuning for the survivability of web systems.
  • What has happened to the Eclipse architecture over time?
    Assessing architectural evolution.
  • Can we model requirements together?
    Using OpenRE: the Open Requirements Engineering lab.

  • Email: Office: +44 (0) 1908 6 55562