Piloting Copilot, Codex, and StarCoder2: Hot Temperature, Cold Prompts, or Black Magic?
arXiv:2210.14699 · doi:10.1016/j.jss.2025.112562
Abstract
Language models are promising solutions for tackling increasing complex problems. In software engineering, they recently gained attention in code assistants, which generate programs from a natural language task description (prompt). They have the potential to save time and effort but remain poorly understood, limiting their optimal use. In this article, we investigate the impact of input variations on two configurations of a language model, focusing on parameters such as task description, surrounding context, model creativity, and the number of generated solutions. We design specific operators to modify these inputs and apply them to three LLM-based code assistants (Copilot, Codex, StarCoder2) and two benchmarks representing algorithmic problems (HumanEval, LeetCode). Our study examines whether these variations significantly affect program quality and how these effects generalize across models. Our results show that varying input parameters can greatly improve performance, achieving up to 79.27% success in one-shot generation compared to 22.44% for Codex and 31.1% for Copilot in default settings. Actioning this potential in practice is challenging due to the complex interplay in our study - the optimal settings for temperature, prompt, and number of generated solutions vary by problem. Reproducing our study with StarCoder2 confirms these findings, indicating they are not model-specific. We also uncover surprising behaviors (e.g., fully removing the prompt can be effective), revealing model brittleness and areas for improvement.
53 pages, 3 Figures (not counted the subfigures), 16 Tables
References in corpus (13)
- PaLM: Scaling Language Modeling with Pathways
- Evaluating Large Language Models Trained on Code
- Large Language Models are Zero-Shot Reasoners
- Self-Consistency Improves Chain of Thought Reasoning in Language Models
- Beyond the Imitation Game: Quantifying and extrapolating the capabilities of language models
- An Empirical Study of the Non-determinism of ChatGPT in Code Generation
- GLaM: Efficient Scaling of Language Models with Mixture-of-Experts
- Measuring Coding Challenge Competence With APPS
- CodeT: Code Generation with Generated Tests
- Code Generation Tools (Almost) for Free? A Study of Few-Shot, Pre-Trained Language Models on Code
- Non-Determinism of "Deterministic" LLM Settings
- Solving Probability and Statistics Problems by Program Synthesis
- Turbulence: Systematically and Automatically Testing Instruction-Tuned Large Language Models for Code