Untangling the Knot: Enabling Rapid Software Evolution
November 2021 • Poster
This fact sheet describes AI techniques to recommend refactorings that can improve the structure of software in significantly less time manual refactoring.
Software Engineering Institute
Software-reliant systems need to evolve over time to meet new requirements and take advantage of new technology. But often the structure of software becomes too complicated to allow rapid and cost-effective improvements. Software refactoring can facilitate such changes, but it can require tens of thousands of staff hours. This project uses artificial intelligence (AI) techniques to create software engineering automation to recommend a set of refactorings that isolates functionality from its tangle of system dependencies. We aim to reduce the time required for this kind of architecture refactoring by two-thirds.
The SEI would like to collaborate with the right programs to apply this work to address today's important problems and gain feedback to improve our ongoing research.