Search papers, labs, and topics across Lattice.
This paper explores the phenomenon of variability in AI-generated software, specifically through the lens of vibe coding, where an LLM generates entire programs from natural language prompts. The authors found that traditional variability, which is typically embedded in code, is largely absent in vibe-coded projects, as all variability decisions are made at generation time. They introduce Variability by Regeneration (VbR), a novel product-line approach that allows LLMs to generate tailored binaries from declarative specifications, effectively shifting variability management from code to specification.
Variability in AI-generated software should be embedded in specifications rather than in the code itself, enabling more efficient and tailored program generation.
In vibe coding, an emerging AI-driven paradigm, an LLM generates an entire program from a natural language prompt, but what happens to the variability that traditional software engineering carefully builds into code? To answer this question, we conducted an exploratory analysis on 10 vibe coded C/C++ projects, which suggests that there is near-zero in-artifact variability, i.e., at compile and runtime. All variability decisions are resolved at a single new binding time, generation time, the moment the LLM produces the source code. Rather than treating this as a defect to fix, we propose Variability by Regeneration (VbR), to our knowledge the first product-line approach in which the LLM acts as the derivation engine, generating a purpose-built, free of dead code binary for each variant from a declarative specification, while a variant dispatcher transparently routes user requests to the matching binary. We formalise VbR, contrast it with classical SPL derivation, and demonstrate its full pipeline on a wc product family. For SPL engineering, variability in AI-generated software belongs in the specification, not in the code.