I am the Subject Coordinator for all five of our MSc courses: MSc Computing Science, MSc Advanced Computer Science, MSc Computer Science for Cyber Security, MSc Artificial Intelligence and MSc Data Analytics. This means I work with the Programme Lead to help ensure the students have the best experience possible on our programmes.
Areas of expertise
- software engineering:
- design patterns
- web services
- formal methods
- model-based specification
- algebraic specification
- programming languages
- object-oriented programming
- functional programming
- agent-oriented programming
Teaching and supervision
- Advanced Object-Oriented Programming:
How can we design large-scale software in a way that makes change easy to manage. Design patterns are a major part of the answer to this question and they solve other problems too. You also learn in this module how major languages such as Java and C# are evolving over time in order to help you to stay current. This includes topics such as generics, lambda expressions, properties etc. Finally, you will learn about the practices involved in ensuring software meets its specification.
- Foundations of Artificial Intelligence:
This module is about the origins of artificial intelligence (AI) and is used on the MSc Artificial Intelligence to give the students the foundation they need for more advanced study later. We specifically consider the tradition within AI of representing explicitly both knowledge about the world and about the rules that can used by rational agents to make decisions; this can be contrasted with machine learning approaches studied elsewhere on the programme. The coursework concentrates on adversarial game playing.
- Secure Programming:
You will learn about the fiendish tricks that hackers use to hijack software and gain control of computer systems and then make sure that all the software you work on is free from vulnerabilites. This is an exciting fast evolving field in which there are revelations about new exploits every month. You will learn about many subtleties within C/C++ and the security aspects of, for example, web programming, cryptography, networks, and operating systems including concurrency and access control. I teach both undergraduate and postgraduate versions of this module.
I'm in charge of a number of programming and cybersecurity modules and I have a few ideas for cybersecurity projects.
|Kieren Stanton||Studying different technologies for authentication in order to prevent impersonation attacks in vehicular ad hoc networks||Active|
I do research with Prof Hong Zhu on a wide variety of topics of importance to practical software engineering.
Example of research topics:
- Software design patterns are widely used in industry to pass on expertise about object-orientation, but can we recognise design patterns in legacy systems and when we compose them together to make larger systems, can we be sure that we have done it correctly?
- Can we apply the concepts of design patterns to other areas such as security design patterns, which are the practices passed on by security experts to keep computer systems secure?
- Microservices are a lightweight container technology commonly used to provide SaaS (software-as-a-service). It seems plausible that agent-orientation, in which we supply behavioural rules to react to changes in the environment, may be a better fit to microservices than object-orientation. Inspired by this, we have devised a programming language for programming microservices.
- Algebraic specification of web services enables us to do automated testing using equations instantiated with random inputs instead of having to supply (input, output) pairs as usually required. However, since the testing is done shortly before use by a client that doesn't even own the service, it is not possible to "reset" the service to a prior state as sometimes is needed when testing such equations. How do we solve this problem and still successfully test web services?
- How can machine learning applications be tested given the inevitable absence of an oracle? One approach is exploratory testing as a means of mapping out the solution space so that the model can be more thoroughly understood.
- Authentication in VANETs
Zhu H, Bayley I
, 'Discovering Boundary Values of Feature-based Machine Learning Classifiers through Exploratory Datamorphic Testing'
Journal of Systems and Software 187 (2022)
ISSN: 0164-1212Abstract Published here Open Access on RADAR
Zhu H, Bayley I, 'Discovering and Investigating Cyberpatterns: The Road Map to Link Data Analytics with Reusable Knowledge'
IEEE Systems, Man, and Cybernetics Magazine 4 (3) (2018) pp.14-22
ISSN: 2380-1298 eISSN: 2333-942XAbstract Published here Open Access on RADAR
Brown D, Aldea A, Harrison R, Martin C, Bayley I, 'Temporal case-based reasoning for type 1 diabetes mellitus bolus insulin decision support'
Artificial Intelligence in Medicine 85 (April 2018) (2018) pp.28-42
ISSN: 0933-3657 eISSN: 1873-2860Abstract Published here Open Access on RADAR
Zhu H, Liu D, Bayley I, Aldea A, Yang Y, Chen Y, 'Quality Model and Metrics of Ontology for Semantic Descriptions of Web Services'
Tsinghua Science and Technology 22 (3) (2017) pp.254-272
ISSN: 1007-0214Abstract Published here Open Access on RADAR
Zhu H, Bayley I, 'On the Composability of Design Patterns'
IEEE Transactions on Software Engineering 41 (11) (2015) pp.1138-1152
ISSN: 0098-5589Abstract Published here Open Access on RADAR
Liu D, Zhu H, Bayley I, 'Transformation of Algebraic Specifications into Ontological Semantic Descriptions of Web Services'
International Journal of Services Computing 2 (1) (2014) pp.58-71
ISSN: 2330-4464 eISSN: 2330-4472Abstract
Zhu H, Bayley I, 'An algebra of design patterns'
ACM Transactions on Software Engineering and Methodology 22 (3) (2013)
ISSN: 1049-331XAbstract Published here
Bayley I, Zhu H, 'A formal language for the expression of pattern compositions'
International Journal on Advances in Software 4 (3&4) (2011) pp.354-366
ISSN: 1942-2628Published here
Bayley I, Zhu H, 'Formal specification of the variants and behavioural features of design patterns'
Journal of Systems and Software 83 (2) (2010) pp.209-221
ISSN: 0164-1212Abstract Published here
Bayley I, Zhu H, 'On the Composition of Design Patterns'
Quality Software Proceeedings on quality software 2008 (QSIC) , 12-13 (2008) pp.27-36
ISSN: 1550-6002Abstract Published here
Bayley I, Zhu H, 'Specifying behavioural features of design patterns in first order logic'
IEEE International Computer Software and Applications (COMPSAC 2008), Proceedings. (2008) pp.203-210
ISSN: 0730-3157Abstract Published here
Martin C, Bayley I, 'Disciplined, Efficient, Generalised Folds for Nested Datatypes'
Formal Aspects of Computing 16 (2005) pp.19-35
ISSN: 0934-5043 eISSN: 1433-299XAbstract Published here
- PC Co-Chair for COMPSAC SETA 2018
- Lecturer at University of Bournemouth