Research
My research investigates how to produce trustworthy evidence about the quality of software systems. I focus primarily on testing learning-enabled, autonomous, and cyber-physical software. I am currently extending these methods toward empirical software security. View all publications
Core research directions
✅ Validity-aware and human-aligned AI testing
When does an automatically generated input constitute meaningful and trustworthy test evidence?
[ICSE23] [ICST25] [SCP26] [ICST26]
🗺️ Search-based boundary and feature-space exploration
How can test generation efficiently explore meaningful behavioural boundaries and diverse regions of the input space?
[FSE20] [ISSTA21] [TOSEM23] [ISSTA23] [STVR26] [TOSEM26] [EMSE26]
🚘 Testing autonomous and cyber-physical systems
How can autonomous systems be tested under diverse, realistic, and behaviourally meaningful operating conditions?
[EMSE24] [TOSEM24] [EMSE25] [EMSE26]
🧩 Fault models and explanations for AI software testing
Which faults affect AI-enabled software and how can observed failures be interpreted?
[ICSE20] [EMSE20] [ASE21] [ESEM23]
Emerging research direction
🔐 Empirical security and trustworthy software ecosystems
How can empirical analysis expose security weaknesses in software policies, dependencies, and distribution infrastructure?
[ITASEC25] [JSEP26]
Research foundations
📱 Enhancing automated GUI exploration for Android applications
How can automated GUI exploration techniques be enhanced to trigger mobile-specific failures and reach relevant app states that require complex, app-specific interaction sequences?
[STVR18] [ISSTAW18] [IST19] [IEEEACC20]