Towards Reliable Generation of Executable Workflows by Foundation Models
Authors:
- Sogol MasoumzadehSMSogol Masoumzadeh
- Keheliya GallabaKGKeheliya Gallaba
- Dayi LinDLDayi Lin
- Ahmed E. HassanAHAhmed E. Hassan
Preprint
Abstract
Recent advancements in Foundation Models (FMs) have demonstrated significant progress in comprehending complex natural language to perform intricate tasks. Successfully executing these tasks often requires orchestrating calls to FMs alongside other software components. However, manually decomposing a task into a coherent sequence of smaller, logically aggregated steps, commonly referred to as workflows, demands considerable effort and specialized domain knowledge. While FMs can assist in generating such workflows specified in domain-specific languages (DSLs), achieving accuracy and reliability in this process remains a challenge. This work introduces a framework that leverages static analysis feedback to enable FMs to detect and repair defects in the DSL-based workflows they generate. We begin by presenting the first-ever taxonomy of incidences of defects in FM-generated DSL workflows, categorizing them into 18 distinct types. Furthermore, we observe a high prevalence of defects across FM-generated DSL workflows, with 87.27% of the studied instances containing at least one defect. This, in turn, emphasizes the magnitude of the problem in practice and underscores the necessity for implementing mitigation strategies. Following this, we demonstrate that nine types of these defects can be effectively identified through static analysis of the workflows. For this purpose, we develop Timon, the first-of-its-kind static analyzer specifically designed for FM-generated DSL workflows. Finally, we show that by incorporating feedback from Timon, we can guide Pumbaa, an FM-based tool, to repair the detected defect incidences. By systematically detecting and repairing defects, our work provides a crucial step towards the reliable and automated generation of executable workflows from natural language requirements.Keywords
All Related Versions
This publication has 30 references indexed in Scilit:
- Less training, more repairing please: revisiting automated program repair via zero-shot learning2022
- Code Smells Detection and Visualization: A Systematic Literature ReviewArchives of Computational Methods in Engineering, 2021
- Collaborative or individual identification of code smells? On the effectiveness of novice and professional developersInformation and Software Technology, 2020
- Pitfalls Analyzer: Quality Control for Model-Driven Data Science Pipelines2019
- Applying static code analysis for domain-specific languagesSoftware and Systems Modeling, 2019
- A Generic Static Analysis Framework for Domain-specific Languages2018
- Program synthesis using natural language2016
- Nopol: Automatic Repair of Conditional Statement Bugs in Java ProgramsIEEE Transactions on Software Engineering, 2016
- Why don't software developers use static analysis tools to find bugs?2013
- Z3: An Efficient SMT Solver2008