🤖 AI Summary
Addressing the urgent need for efficient and reliable analytical tools in tackling complex, time-critical scientific problems. Method: We propose iStrucInd—an interactive, structured inductive programming paradigm designed to build programmable, human-in-the-loop assistants for scientific domains. iStrucInd integrates large language models (LLMs), inductive program synthesis, and structured prompt engineering, underpinned by a “bidirectional intelligibility” protocol that ensures mutual understanding between human users and AI models during collaborative code generation. Contribution/Results: Evaluated on two nontrivial scientific data analysis tasks, iStrucInd produces code surpassing both hand-coded implementations and low-/no-code alternatives in correctness, robustness, and runtime performance—while reducing development time by over 40%. The paradigm advances scientific computing by unifying reliability, interactivity, and developer productivity within a single, principled framework.
📝 Abstract
We are interested in the construction of software that can act as scientific assistants to domain specialists. It is expected that such assistants will be needed to accelerate the identification of ways to address complex problems requiring urgent solutions. In this paper, our focus is not on a specific scientific problem, but on the software-engineering of such 'science accelerators'. Recent developments in 'No Code' techniques would seem to suggest that scientist can simply hypothesise solutions simply by conversing with a large language model (LLM). However, for complex scientific problems, this seems unlikely given the current state of LLM technology. What does appear feasible is that a software engineer can use LLMs to rapidly construct programs for use by a domain-specialist, including the specialist's requirements expressed in natural language. We propose the design of an interactive form of 'structured' inductive programming in which a software-engineer and an LLM collaboratively construct an 'assistant' for a scientific data analysis. The paper describes a simple implementation called iStrucInd that adapts a '2-way Intelligibility' protocol to implement the interaction between the software engineer and the LLM. We test the tool on two different non-trivial scientific data analysis tasks. Specifically, we compare the system constructed by iStrucInd against systems constructed manually and by Low Code/No Code methods along dimensions of: (a) program performance; (b) program quality; and (c) programming effort. The results show iStrucInd allows a software engineer to develop better programs faster suggesting interactive structured induction can play a useful role in the rapid construction of scientific assistants.