realhumaneval

The RealHumanEval

Associated code, data and interface for the paper “The Real HumanEval: Evaluating Large Language Models’ Abilities to Support Programmers”.

The interface in interface also includes code from our follow-up work “Need Help? Designing Proactive AI Assistants for Programming” by Valerie Chen, Alan Zhu, Sebastian Zhao, Hussein Mozannar, David Sontag, Ameet Talwalkar.

Quick Links:

Overview of RealHumanEval

What is it?

This repository introduces an interface for evaluating humans writing code with large language models (LLMs) “RealHumanEval”. Users can interact with LLMs integrated into an editor through either autocomplete support, akin to GitHub Copilot, or chat support, akin to ChatGPT.

Using this interface, we ran  a user study (N=243) to measure the ability of different LLMs to support programmers in their tasks.  We measure user performance in terms of the speed and amount of tasks completed, as well as user satisfaction metrics of LLM helpfulness. While we find general correspondence between benchmark performance and user performance (i.e., less performant models tended to slow users down and reduce the number of tasks completed), the gaps in benchmark performance are not proportional to gaps in human performance metrics.

In this repository, you can find the data of participants study sessions as well as code to analyze that data and the code for RealHumanEval.

Data

You can find our data on Huggingface hub at realhumaneval, or for a direct download link you can find in ./data.

The data released consists of four parts (can also be found in the folder ./data):

Installation

Analysis code is in Python, you will need the following packages: pandas, numpy, matplotlib, seaborn, sklearn, statsmodels, datasets (huggingface).

Organization

This repository is organized as follows:

Paper Reproducibility 

To reproduce figures and results from the paper, you can run the following notebooks:

Citation

@misc{mozannar2024realhumaneval,
      title={The RealHumanEval: Evaluating Large Language Models' Abilities to Support Programmers}, 
      author={Hussein Mozannar and Valerie Chen and Mohammed Alsobay and Subhro Das and Sebastian Zhao and Dennis Wei and Manish Nagireddy and Prasanna Sattigeri and Ameet Talwalkar and David Sontag},
      year={2024},
      eprint={2404.02806},
      archivePrefix={arXiv},
      primaryClass={cs.SE}
}
@misc{chen2024needhelpdesigningproactive,
      title={Need Help? Designing Proactive AI Assistants for Programming}, 
      author={Valerie Chen and Alan Zhu and Sebastian Zhao and Hussein Mozannar and David Sontag and Ameet Talwalkar},
      year={2024},
      eprint={2410.04596},
      archivePrefix={arXiv},
      primaryClass={cs.HC},
      url={https://arxiv.org/abs/2410.04596}, 
}

License information is available here

Acknowledgements

This work is partially funded by the MIT-IBM Watson AI Lab.