We develop and evaluate practical software engineering techniques to support the efficient development of robust, maintainable software and cyber-physical systems.
Much of our research is geared towards the growing role of AI in the software-development lifecycle, from agentic software development through to systems such as autonomous vehicles that themselves incorporate AI into their core functionality.
Members of the ASET group at ICST'26
ASET members out on their annual walk in the beautiful Peak District
Working with practitioners
Our goal is to develop solutions that address significant Software Engineering and Testing challenges. As such we are always keen to work with industrial partners in the tech community to develop novel solutions that will make an impact. Collaborations can take on a variety of shapes and sizes, from short-term student projects to Ph.D. studentships or more formal collaborative research projects. If you are interested in working with us, please contact us!
There is a lack of serious tooling for mutation analysis for Rust, a safety-focused systems programming language seeing increased adoption across the industry. As such, the testing technique has not been widely used on programs written in the language as of yet. Without robust mutation analysis, Rust developers cannot determine test thoroughness. In response to this challenge, we designed a mutation analysis pipeline for Rust, which overcomes the challenges of generating valid mutants caused by the strictness of the language. Our approach accounts for Rust’s distinction between safe and unsafe operations, ensuring that safe mutations of valid Rust programs—those with only valid unsafe code sections—can be safely evaluated within the same process, without the potential for crashes or other undefined behavior invalidating the mutation analysis. We introduce mutation batching, our novel technique for efficiently evaluating multiple mutations simultaneously, while guaranteeing they do not interact. Batching maximizes thread usage, by executing significantly more test cases in parallel. As batching is NP-hard, we present multiple fast approximation algorithms for grouping mutations. We implemented our techniques into a mutation analysis tool, mutest-rs , which we used in our empirical evaluation on a diverse set of 22 Rust libraries and programs. We found that mutation batching reduces the overall runtime of mutation analysis by up to (52.3%) and also saving 73.8 seconds in one case, and that unsafe mutations are detected at a lower rate, of up to (53.4%) . Our mutation analysis tool is available at https://mutest.rs .
@article{levai2026comprehensive,title={A Comprehensive Empirical and Theoretical Analysis of Batching Algorithms for Efficient, Safe, Parallel Mutation Analysis in Rust},author={Lévai, Zalán and Shin, Donghwan and McMinn, Phil},journal={ACM Transactions on Software Engineering and Methodology},volume={35},number={10},pages={1--54},year={2026},month=sep,doi={10.1145/3787851},}
Causal Software Engineering: A Vision and Roadmap
Roberto Pietrantuono, Luca Giamattei, Stefano Russo, and 2 more authors
In Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering, Jul 2026
@inproceedings{pietrantuono2026causal,title={Causal Software Engineering: A Vision and Roadmap},author={Pietrantuono, Roberto and Giamattei, Luca and Russo, Stefano and Siebert, Julien and Walkinshaw, Neil},booktitle={Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering},publisher={ACM},pages={1346--1350},year={2026},month=jul,doi={10.1145/3803437.3805585},}
Fuzz3 : Entropy as a Third Oracle
Karine Even-Mendoza, Janine Obiri, Aidan Dakhama, and 2 more authors
@incollection{evenmendoza2026fuzz3,title={Fuzz3 : Entropy as a Third Oracle},author={Even-Mendoza, Karine and Obiri, Janine and Dakhama, Aidan and McMinn, Phil and Langdon, W. B.},booktitle={Search-Based Software Engineering},publisher={Springer Nature Switzerland},pages={107--113},year={2026},month=jul,doi={10.1007/978-3-032-30699-9_9},}
Vision-based vs. IMU-based upper-limb pose estimation in assisted dressing: a comparative study of positional accuracy and kinematic fidelity
Yasmin Rafiq, Shenglin Wang, Mohammed Al-Nuaimi, and 3 more authors
Accurate estimation of upper-limb kinematics is essential for applications such as rehabilitation assessment and assistive robotics, yet remains challenging in real-world scenarios involving occlusion and physical human interaction. While vision-based pose estimation methods have advanced significantly, their ability to recover reliable joint kinematics under such conditions remains unclear. This paper presents a systematic comparison of vision-based and wearable sensing approaches for upper-limb pose estimation during assisted dressing tasks. A monocular RGB-based convolutional neural network (CNN) and a temporally smoothed variant (CNN_temporal) are evaluated alongside a wearable IMU-based reconstruction method. All approaches are compared against an inverse kinematics (IK) reference derived from VICON motion capture data using participant-specific kinematic models. Performance is assessed using both positional error, measured via global and shoulder-centred mean per-joint position error (MPJPE), and kinematic agreement, measured via elbow flexion/extension angle error. Experiments on a real-world dataset of assisted dressing trials, involving an occupational therapist and three participants, demonstrate that IMU-based estimation provides consistently accurate and stable joint-angle reconstruction (e.g., ∼ 12 ° mean absolute error). In contrast, vision-based methods achieve reasonable positional accuracy (MPJPE ∼ 0.20 m) but exhibit substantially larger errors in joint-angle estimation (often exceeding 80 ° ), particularly under occlusion. Temporal smoothing improves positional consistency but does not preserve kinematic fidelity. These results highlight a fundamental limitation of current vision-based approaches for tasks requiring accurate joint kinematics. The findings suggest that integrating inertial sensing or incorporating biomechanical constraints may be necessary to achieve reliable pose estimation in real-world assistive scenarios.
@article{rafiq2026vision,title={Vision-based vs. IMU-based upper-limb pose estimation in assisted dressing: a comparative study of positional accuracy and kinematic fidelity},author={Rafiq, Yasmin and Wang, Shenglin and Al-Nuaimi, Mohammed and Mihaylova, Lyudmila and Hierons, Robert M. and Dogramadzi, Sanja},journal={Frontiers in Robotics and AI},volume={13},year={2026},month=jul,doi={10.3389/frobt.2026.1844439},}
There is extensive literature on automated test generation using reactive design models, where control is determined by events. In contrast, the (idealised) simulation paradigm defines control through cycles dictated by the passage of time. Within each cycle, inputs are read and processed, and outputs are provided, all instantaneously, and afterwards time progresses. To exercise a simulation using tests generated from a reactive design model requires changes to the tests to take into account this paradigm shift. This article focuses on automation of the necessary changes and of the use of the resulting tests in a simulation campaign. Based on a notion of conformance that establishes whether a simulation is correct with respect to a reactive design, we (1) identify the reactive tests that are meaningful; (2) define a process to convert those tests; (3) provide an algorithm to execute those tests and (4) prove soundness and completeness of our approach. Our work is described in the context of the RoboStar framework for model-based development of control software for robotics applications, and its process algebraic semantics. The testing approach we propose here represents a significant advancement in the current testing practices within the field of robotics, where simulations are widely used.
@article{cavalcanti2026reactive,title={Reactive Model-Based Testing of Cyclic Systems},author={Cavalcanti, Ana and Hierons, Robert M},journal={ACM Transactions on Computational Logic},volume={27},number={3},pages={1--30},year={2026},month=jun,doi={10.1145/3801960},}