📣 Help Shape the Future of UKRI's Gateway to Research (GtR)

We're improving UKRI's Gateway to Research and are seeking your input! If you would be interested in being interviewed about the improvements we're making and to have your say about how we can make GtR more user-friendly, impactful, and effective for the Research and Innovation community, please email gateway@ukri.org.

MUSE: Multi-Modal Software Evolution

Lead Research Organisation: University of Surrey
Department Name: Computing Science

Abstract

Software systems are heterogeneous, combining components developed by independent teams. Software developers rely on third-party libraries to cut development time and cost. The synergy between these components is crucial for the overall maintainability and health of the software system. Unfortunately, popular libraries are typically fast-moving and grow rapidly in size while catering to a diversity of client software. As libraries evolve and grow in size, developers tend to defer upgrades despite clear upgrade directives from the libraries, citing the cost of upgrade in both time and money.

To build large and sustainable software systems, it is crucial that independently evolving software systems are synchronised automatically. Multi-Modal Software Evolution (MUSE) is a transformative step towards autonomous software maintenance where directives in software documentation for human developers will guide automated software upgrade. In MUSE, we will develop a novel approach to software upgrade that integrates upgrade directives for human developers into formal frameworks for program synthesis, generation and repair. We will include directives in documentation for libraries as first class objects in frameworks for reasoning and transformation of software. We will produce hybrid statistical-formal reasoning frameworks which will make human-to-human communication the main driver in automatic program transformation.

Working closely with stakeholders through engagement events, we will develop both the theory and the tooling for automatic software upgrade to use newer versions of libraries. We will demonstrate the tools by upgrading client software that relies on fast-moving libraries and distribute the tools that we develop in multiple forms for developers at all skills levels, from enthusiasts to experienced developers, making our outputs widely accessible.

Related Projects

Project Reference Relationship Related To Start End Award Value
EP/W015927/1 30/09/2022 25/03/2024 £421,797
EP/W015927/2 Transfer EP/W015927/1 26/03/2024 31/10/2026 £311,024
 
Description We found that interfaces for software libraries are often partially documented. This has an impact on how developers use the library, which impacts quality of software that we use. Consequently, there is a need for tools that can identify missing information and work with partial documentation.
Exploitation Route We are using this key finding to inform tools for automatic software maintenance, that are resilient to changes in the library. We expect that this finding can also inform tools for identifying and auto-generating documentation in future. Such tools can be used by library developers to update their documentation.
Sectors Digital/Communication/Information Technologies (including Software)

 
Description Collaboration with National Institute of Informatics, Japan 
Organisation National Institute of Informatics (NII)
Country Japan 
Sector Public 
PI Contribution In this project, we extracted Android documentation to identify APIs that have been deprecated or in simple terms, marked for removal. A documentation message in these deprecations serve as a hint to developers that use Android's API on how they can use newer version of the API.
Collaborator Contribution Our collaborators helped us categorise these deprecation messages so that the category information can be used by an automated tool to update software that uses these APIs, replacing uses of the deprecated API with its replacement.
Impact We are currently writing a joint paper on the usefulness of these categorisations, describing how it can improve outcomes for automated code rewriting to use newer versions of the API.
Start Year 2024
 
Description Talk (University of Surrey) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Professional Practitioners
Results and Impact 30 colleagues from University of Surrey attended a talk on using Android documentation to guide automated tools for security analysis. Attendants found the talk insightful, and were made aware of the decprecate-retire cycle for APIs, which has a significant impact on maintainability of software.
Year(s) Of Engagement Activity 2024