NoFunEval: Funny How Code LMs Falter on Requirements Beyond Functional Correctness

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Singhal, Manav, Aggarwal, Tushar, Awasthi, Abhijeet, Natarajan, Nagarajan, Kanade, Aditya
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866909328128081920
author Singhal, Manav
Aggarwal, Tushar
Awasthi, Abhijeet
Natarajan, Nagarajan
Kanade, Aditya
author_facet Singhal, Manav
Aggarwal, Tushar
Awasthi, Abhijeet
Natarajan, Nagarajan
Kanade, Aditya
contents Existing evaluation benchmarks of language models of code (code LMs) focus almost exclusively on whether the LMs can generate functionally-correct code. In real-world software engineering, developers think beyond functional correctness. They have requirements on "how" a functionality should be implemented to meet overall system design objectives like efficiency, security, and maintainability. They would also trust the code LMs more if the LMs demonstrate robust understanding of such requirements. We propose a new benchmark NoFunEval to evaluate code LMs on non-functional requirements and simple classification instances for both functional and non-functional requirements. We propose a prompting method, Coding Concepts (CoCo), as a way for a developer to communicate the domain knowledge to the LMs. We conduct an extensive evaluation of 27 code LMs. Our finding is that LMs generally falter when tested on our benchmark, hinting at fundamental blindspots in their training setups. Surprisingly, even the classification accuracy on functional-correctness instances derived from the popular HumanEval benchmark is low, calling in question the depth of their comprehension and the source of their success in generating functionally-correct code in the first place. We release our benchmark and evaluation scripts publicly at https://aka.ms/NoFunEval.
format Preprint
id arxiv_https___arxiv_org_abs_2401_15963
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle NoFunEval: Funny How Code LMs Falter on Requirements Beyond Functional Correctness
Singhal, Manav
Aggarwal, Tushar
Awasthi, Abhijeet
Natarajan, Nagarajan
Kanade, Aditya
Software Engineering
Artificial Intelligence
Computation and Language
Machine Learning
Existing evaluation benchmarks of language models of code (code LMs) focus almost exclusively on whether the LMs can generate functionally-correct code. In real-world software engineering, developers think beyond functional correctness. They have requirements on "how" a functionality should be implemented to meet overall system design objectives like efficiency, security, and maintainability. They would also trust the code LMs more if the LMs demonstrate robust understanding of such requirements. We propose a new benchmark NoFunEval to evaluate code LMs on non-functional requirements and simple classification instances for both functional and non-functional requirements. We propose a prompting method, Coding Concepts (CoCo), as a way for a developer to communicate the domain knowledge to the LMs. We conduct an extensive evaluation of 27 code LMs. Our finding is that LMs generally falter when tested on our benchmark, hinting at fundamental blindspots in their training setups. Surprisingly, even the classification accuracy on functional-correctness instances derived from the popular HumanEval benchmark is low, calling in question the depth of their comprehension and the source of their success in generating functionally-correct code in the first place. We release our benchmark and evaluation scripts publicly at https://aka.ms/NoFunEval.
title NoFunEval: Funny How Code LMs Falter on Requirements Beyond Functional Correctness
topic Software Engineering
Artificial Intelligence
Computation and Language
Machine Learning
url https://arxiv.org/abs/2401.15963