UCL Computer Science’s research is transforming how software-intensive systems are built, maintained and evolved in an ever-more interconnected digital world.
Software systems engineering lies at the heart of our digital world. But as systems grow steadily more complex and interdependent, this vital field demands new and inventive approaches to design, development and maintenance.
Today, software systems development rarely starts from scratch. Most involve extending existing systems and integrating them with legacy infrastructure in dynamic, decentralised organisations. This means systems not only have to satisfy a diverse range of needs, but also adapt to constantly shifting requirements, emerging engineering challenges and ever-changing environments.
Our research tackles the challenges of developing and maintaining software that powers everything from social media platforms used by billions to life-saving healthcare applications. This means creating novel software solutions for specific industrial problems we can validate through rigorous software testing and deployment in real-world environments.

Where’s research into software systems engineering taking us at UCL Computer Science?
Search-based software engineering (SBSE)
UCL Computer Science is a world leader in SBSE, reframing engineering challenges as search problems and applying heuristic techniques to find the best solution.
Our MaJiCKe spinout (acquired by Meta) shows how our genetic improvement research leaves the lab to solve real-world, large-scale problems, with its technology used to develop and test Facebook and WhatsApp platforms, directly impacting more than three billion people worldwide.
Information theory applied to software engineering
We apply information theory to protect confidentiality, integrity and privacy in complex digital systems, combining testing with statistical guarantees to ensure reliability at scale.
This approach has proven especially valuable for security-critical applications, where traditional formal methods struggle because of the complexity of systems.
Software testing and maintenance
Our testing techniques, successfully applied at Facebook and Bloomberg, improve bug detection and fix verification in production environments.
Through our Industry Exchange Network (IXN), we've forged strong links with IBM, Microsoft, Intel and NHS, among others, to roll out novel solutions across healthcare, finance and technology sectors. Meanwhile, our research into software provenance is helping establish code origins and modification history – both critical elements for license compliance in large projects.
Software process improvement
Better use of data is helping us revolutionise engineering practices by optimising development processes. We’re creating predictive models, too, that can forecast everything from app store performance to fault detection. The result? Organisations can maximise quality while minimising development risk.
Requirements engineering
When failure isn’t an option, organisations rely on us. Our requirements engineering research has supported NASA JPL's drone development,
Eurocontrol's aviation security, and financial fraud detection systems at Fortent. By precisely analysing stakeholder goals using natural language, formal logic and mathematical models, we've enabled organisations to build systems that better satisfy complex, conflicting requirements even in highly regulated environments.
AI for software engineering and software engineering for AI
How can you fix buggy code more efficiently? One answer is through automated program repair driven by AI, which is what we’re doing for companies like Bloomberg.
We’re also exploring fairness in AI systems with Microsoft and IBM, championing energy-aware computing with the Green Software Foundation and investigating code's natural language properties to enhance development tools.
What's coming next?
Over the next decade, integrating large language models (LLMs) with conventional software engineering will fundamentally reshape development practices. UCL is ready to lead the charge in adaptive software development, where LLMs automate code synthesis, optimise systems, generate test cases and produce documentation to reduce costs while improving quality.
This transformation will restyle professional roles: developers will orchestrate and refine LLMs; test engineers will use AI to automate testing; and DevOps will evolve with predictive maintenance and intelligent deployment.
Through our pioneering research, international partnerships and commitment to open-source contributions, UCL's Software Systems Engineering is laying the groundwork for next-generation software. Software that’s more reliable, more adaptable and more centered around user needs than ever before. Meanwhile, our CREST Open Workshop series, running since 2007, continues to build vital networks between academia and industry to amplify our research impact.