Software engineering research seeks to improve the efficiency of software system construction while maintaining or improving quality.
Efficiency covers such things as the time to completion, the cost of completion and resource requirements, such as staff. Quality considers areas of functional correctness, code readability, design quality, short-term and long-term maintainability, reusability, return on investment, and staff satisfaction and effectiveness.
Our research covers a range of artefacts, including the source code that makes up the software system, the requirements, documentation, and test plans. It encompasses the software development environment, such as the tools and processes used, and the people involved. We also investigate how to determine the quality of the software system and the efficiency of the development practices used.