Projects per year
My research is primarily focused on the area of software engineering, and in particular the development and evaluation of techniques to support the construction and evolution of more reliable and robust software systems. A common theme in much of this work is the application of machine learning to software engineering problems; for example, to automatically generate program test data, predict software project costs, perform intrusion detection, identify the root location of faults within systems, and automatically detect software system failures. The latter of these in particular makes extensive use of a range of both semi-supervised and unsupervised (clustering) machine learning algorithms to detect anomalous entries in large very high-dimensional and complex data sets. More recently I have also been turning my attention to the converse problem of testing AI systems.
My expertise and interests in machine learning extend outside the software engineering domain and I have employed clustering and classification algorithms in a variety of other contexts such as the automatic identification of potential road accident blackspots from crowdsourced smartphone sensor data, and the detection of objects within images.
I also have extensive experience of using machine learning in a variety of industrial projects such as forecasting customer buyer behaviour, predicting building energy performance, and modelling interventions to combat sedentary behaviour.
Over my career I have taught a lare range of classes, from 1st year undergraduate to postgraduate, mainly on areas related to programming, software engineering, software design, data analytics and machine learning.
My main current teaching responsibilities are:
- CS409: Software Architecture and Design (jointly with Dr. Murray Wood) [syllabus and myplace page]
- CS547: Advanced Topics in Software Engineering [syllabus and myplace page]
- CS971: Evolutionary Computation For Finance [syllabus and myplace page]
- CS985/CS985 (Fundamentals of) Machine Learning for Data Analytics [syllabus and myplace page]
I am also responsible for overseeing the MEng final year group project:
- CS546: Group Project [syllabus]
Expertise & Capabilities
- Software Engineering (particularly design, testing and debugging)
- Data Analytics
- Machine Learning
- Conducting empirical studies of software engineering techniques and processes
- Search-based software engineering
- Software analytics (static analysis, dynamic analysis and repository mining)
- Software engineering
- Machine Learning
Project: Internally funded project
A systematic literature review of machine learning techniques for software maintainability predictionAlsolai, H. & Roper, M., 31 Mar 2020, In: Information and Software Technology . 119, 25 p., 106214.
Research output: Contribution to journal › Article › peer-reviewOpen AccessFile151 Downloads (Pure)
Machine learning techniques for automated software fault detection via dynamic execution data: empirical evaluation studyAlmaghairbe, R., Roper, M. & Almabruk, T., 28 Sep 2020, Proceedings of the 6th International Conference on Engineering and MIS 2020, ICEMIS 2020. New York, NY., p. 1-12 12 p. 15
Research output: Chapter in Book/Report/Conference proceeding › Conference contribution bookOpen AccessFile9 Downloads (Pure)
Marc Roper (Member of programme committee)2011 → …
Activity: Participating in or organising an event types › Organiser of major conference
Marc Roper (Chair)29 Aug 2008 → 31 Aug 2008
Activity: Participating in or organising an event types › Organiser of special symposia