about
Exploring Language Model's Code Generation Ability with Auxiliary Functions (arxiv.org)
2 points by PaulHoule on Mar 23, 2024 | hide | past | pdf | discuss on HN

In plain words: Built a hand-made set of paired code problems where one helper function assists another, to test if code-writing AI models use the helper. Models used helpers well, even writing both functions step by step, but often failed to call the helper, rewriting it instead.

Abstract

Auxiliary function is a helpful component to improve language model's code generation ability. However, a systematic exploration of how they affect has yet to be done. In this work, we comprehensively evaluate the ability to utilize auxiliary functions encoded in recent code-pretrained language models. First, we construct a human-crafted evaluation set, called HumanExtension, which contains examples of two functions where one function assists the other. With HumanExtension, we design several experiments to examine their ability in a multifaceted way. Our evaluation processes enable a comprehensive understanding of including auxiliary functions in the prompt in terms of effectiveness and robustness. An additional implementation style analysis captures the models' various implementation patterns when they access the auxiliary function. Through this analysis, we discover the models' promising ability to utilize auxiliary functions including their self-improving behavior by implementing the two functions step-by-step. However, our analysis also reveals the model's underutilized behavior to call the auxiliary function, suggesting the future direction to enhance their implementation by eliciting the auxiliary function call ability encoded in the models. We release our code and dataset to facilitate this research direction.

Seonghyeon Lee, Sanghwan Jang, Seongbo Jang, Dongha Lee, Hwanjo Yu
arXiv:2403.10575 · cs.SE, cs.AI, cs.CL · submitted Mar 15, 2024
abstract · pdf · html · NAACL2024 Findings

add comment on HN