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.
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.
Publications
Petrescu C
(2024)
Dual-Channel Software Analysis
Tileria M
(2024)
DocFlow: Extracting Taint Specifications from Software Documentation
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 |
