This area explores research into the design, implementation and maintenance of software, enabling development of software that is dependable, efficient and maintainable.
This research area includes topics such as:
- requirements engineering
- software design
- software quality (including reliability, safety, security and usability)
- software testing and analysis
- software adaptation and evolution
- software process and automation
- empirical software engineering.
The strategy for this research area recognises the high quality of research in the UK and the key underpinning role it has to play in several challenges of national importance.
Our goals for this research area are outlined below.
Meeting growing demands
We aim to continue to increase UK capacity in software engineering to meet growing demands from several nationally important challenges, while maintaining a base of high-quality fundamental research at the core of the subject.
Creating scalable environments
Our portfolio will play a key role in enabling and supporting the foundation of new complex, open, scalable environments such as autonomous systems or an ‘Internet of Things’. This will require the strengthening of existing links with research areas such as:
- Verification and Correctness
- Artificial Intelligence Technologies
- Pervasive and Ubiquitous Computing.
This contribution will be needed to achieve the aims set out as part of the Future Intelligent Technologies EPSRC cross-ICT priority (including development of reliable, adaptive technologies).
It should include consideration of how developments in hardware can influence software engineering, particularly in complementary research areas such as:
We aim for our researchers to give more consideration to cybersecurity challenges and contribute to ongoing work driven by security issues. Researchers in this area are critical to achieving the objectives of the Safe and Secure EPSRC cross-ICT priority, particularly in developing resilient software that can form the foundations of complex, unpredictable systems.
We aim to increase consideration of people and users in the field of software engineering, including experts and non-experts who build, maintain or use software, and industry.
There are opportunities to take advantage of initiatives such as the Software Sustainability Institute, which could provide insight into the building and use of software in practice. There is also a need to include co-creative approaches to new software engineering techniques, in line with the People at the Heart EPSRC cross-ICT priority.