AI for Low-Code for AI

Nikitha Rao,Jason Tsay,Kiran Kate,Vincent J. Hellendoorn,Martin Hirzel
2023-06-01
Abstract:Low-code programming allows citizen developers to create programs with minimal coding effort, typically via visual (e.g. drag-and-drop) interfaces. In parallel, recent AI-powered tools such as Copilot and ChatGPT generate programs from natural language instructions. We argue that these modalities are complementary: tools like ChatGPT greatly reduce the need to memorize large APIs but still require their users to read (and modify) programs, whereas visual tools abstract away most or all programming but struggle to provide easy access to large APIs. At their intersection, we propose LowCoder, the first low-code tool for developing AI pipelines that supports both a visual programming interface (LowCoder_VP) and an AI-powered natural language interface (LowCoder_NL). We leverage this tool to provide some of the first insights into whether and how these two modalities help programmers by conducting a user study. We task 20 developers with varying levels of AI expertise with implementing four ML pipelines using LowCoder, replacing the LowCoder_NL component with a simple keyword search in half the tasks. Overall, we find that LowCoder is especially useful for (i) Discoverability: using LowCoder_NL, participants discovered new operators in 75% of the tasks, compared to just 32.5% and 27.5% using web search or scrolling through options respectively in the keyword-search condition, and (ii) Iterative Composition: 82.5% of tasks were successfully completed and many initial pipelines were further successfully improved. Qualitative analysis shows that AI helps users discover how to implement constructs when they know what to do, but still fails to support novices when they lack clarity on what they want to accomplish. Overall, our work highlights the benefits of combining the power of AI with low-code programming.
Software Engineering,Artificial Intelligence
What problem does this paper attempt to address?
The problem that this paper attempts to solve is how to combine low - code programming with programming by natural language (PBNL) in order to lower the threshold for AI development and enable users without a professional programming background to efficiently build AI pipelines. Specifically, the paper proposes a new tool named LowCoder, which integrates a visual programming interface (LowCoder VP) and a natural - language - based interface (LowCoder NL), aiming to assist developers of different levels in the following ways: 1. **Discoverability**: Using LowCoder NL, users can discover new operators through natural - language queries, which is more efficient than traditional web searches or scrolling to select options. For example, in the study, when using LowCoder NL, participants discovered new operators in 75% of the tasks, while in the case of using only keyword searches, these proportions were only 32.5% and 27.5% respectively. 2. **Iterative Composition**: LowCoder supports users to gradually build and refine AI pipelines. Research shows that 82.5% of the tasks were successfully completed, and many initial pipelines were further improved in the subsequent process. 3. **Reducing Syntax Barriers**: For users who know what functions they want to implement but lack specific knowledge of programming languages and libraries, LowCoder, through its visual interface and natural - language interface, helps them overcome these syntax barriers, thus making it easier to build and adjust AI pipelines. In order to evaluate how these two models assist developers, the paper also conducted a user study, inviting 20 developers with different levels of AI experience to use LowCoder to complete four tasks. Half of the tasks used the LowCoder NL component, and the other half used simple keyword searches. The research results show that the method of combining visual programming and natural - language interfaces shows significant advantages in improving users' ability to build and optimize AI pipelines.