Can AI Close the Design-Code Abstraction Gap?
January 2020 • Conference Paper
This paper argues that the software engineering community can use AI/ML techniques to advance automation in design analysis and to make design improvements.
This paper was published by the IEEE/ACM in the Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering Workshop (ASEW).
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.