ICEAA New England Chapter Virtual Luncheon*
May 7, 2020
Untangling the Knot: Recommending Refactorings
James Ivers, Carnegie Mellon University
Software-reliant systems need to evolve over time to meet new requirements and take advantage of new technology. However, all too often the structure of legacy software becomes too complicated to allow such improvements to be made quickly and cost effectively. A common manifestation of this problem is difficulty in isolating a collection of functionality so that it can be used in a new context or cleanly replaced by an improved version. Software can be refactored to facilitate such changes, but this is typically a labor-intensive effort that can take tens of thousands of staff hours.
The goal of the Untangling the Knot project is to use AI techniques to create software engineering automation – specifically, to automatically recommend a set of refactorings that isolates functionality from its tangle of dependencies with the rest of the system. In doing so, we aim to significantly reduce the time required for this kind of architecture refactoring. Our solution combines advances in search-based software engineering with static code analysis and refactoring knowledge.
Software Engineering Institute, Carnegie Mellon University
James Ivers is the lead of the Software Engineering Institute’s Architecture Design, Analysis, and Automation group. He has worked in the field of software architecture for more than 25 years and has engaged in research and application of formal and informal architecture modeling and analysis techniques across a diverse range of government and industry projects. He is a co-author of the award winning Documenting Software Architectures book and numerous papers on software architecture and program analysis.
Prior to joining the SEI, James developed commercial static and dynamic code analysis tools, made substantial contributions to the development of a suite of IEEE standards for the architecture of distributed simulations, and served as the architect at a mobile computing startup. Work at the SEI includes developing cybersecurity guidance for systems used throughout the United States electrical grid, analyzing the software architectures of numerous government and commercial systems, developing tools and approaches for analyzing and recovering the architectures of implemented systems, and leading a team of experienced architects and researchers engaged in dozens of projects.
Attending this virtual event earns 0.1 points towards CCEA recertification.
New England Board of Directors