Can AI Close the Design-Code Abstraction Gap?
James Ivers, İpek Özkaya, Robert L. Nord · 2019
Aligning the design of a system with its implementation improves product quality and simplifies product evolution. While developers are empowered with AI/ML augmented tools and techniques that increasingly assist them in implementation tasks, the abstraction gap between code and design limits automation for design tasks. In this position paper, we argue that the software engineering community can take advantage of the experiences built with AI/ML techniques to advance automation in design analysis. We summarize research challenges and describe two efforts that apply machine learning to codebases to extract design constructs and detect deviation from intended designs and to use search-based refactoring to make design improvements for extracting functionality.