SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2306.04930 · 2023

When to Show a Suggestion? Integrating Human Feedback in AI-Assisted Programming

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 19 functions out of this paper's own repositories and ran 0 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
microsoft/coderec_programming_states canonical 0 of 19
FunctionStatusWhere it lives
bootstrap_confidence_interval Not yet run microsoft/coderec_programming_states/when_to_show/metrics_get.py
code served (permissive licence) · get_code("ed19bdc4230daed5")
crude_label Not yet run microsoft/coderec_programming_states/when_to_show/get_code_label.py
code served (permissive licence) · get_code("0490eac5bafb4137")
discretemap Not yet run microsoft/coderec_programming_states/between_the_lines/user_study_analysis/colorblind_colors.py
code served (permissive licence) · get_code("81dc0848a2719a79")
entropy_single_probability Not yet run microsoft/coderec_programming_states/when_to_show/cdhf.py
code served (permissive licence) · get_code("5397058661fb4a5c")
get_df_all Not yet run microsoft/coderec_programming_states/when_to_show/extended_logs/extended_logs_mass.py
code served (permissive licence) · get_code("943614b7c2a70665")
get_embedding_list Not yet run microsoft/coderec_programming_states/when_to_show/generate_features.py
code served (permissive licence) · get_code("213f0c818c404589")
get_extended_states Not yet run microsoft/coderec_programming_states/when_to_show/extended_logs/extended_logs_mass.py
code served (permissive licence) · get_code("434292e5dfea98da")
get_features_labels Not yet run microsoft/coderec_programming_states/when_to_show/data_split.py
code served (permissive licence) · get_code("e57f8705e5725835")
get_features_labels_user_study Not yet run microsoft/coderec_programming_states/when_to_show/data_split.py
code served (permissive licence) · get_code("1bfeef7a43e6e84b")
get_index Not yet run microsoft/coderec_programming_states/between_the_lines/predict_cups/data_split.py
code served (permissive licence) · get_code("53988409e494aa17")
local_entropy Not yet run microsoft/coderec_programming_states/between_the_lines/user_study_analysis/entropy_utils.py
code served (permissive licence) · get_code("73a8698bc54cc3fb")
process_data_user_study Not yet run microsoft/coderec_programming_states/when_to_show/data_split.py
code served (permissive licence) · get_code("4b248dd17b83c8a3")
retreive_logs Not yet run microsoft/coderec_programming_states/when_to_show/extended_logs/extended_logs.py
code served (permissive licence) · get_code("380ce40e3722bc67")
stationary_distribution Not yet run microsoft/coderec_programming_states/between_the_lines/user_study_analysis/entropy_utils.py
code served (permissive licence) · get_code("dfef76f9d70850bf")
text_features Not yet run microsoft/coderec_programming_states/when_to_show/generate_features.py
code served (permissive licence) · get_code("6545175d9ac9fa91")
tol_cmap Not yet run microsoft/coderec_programming_states/between_the_lines/user_study_analysis/colorblind_colors.py
code served (permissive licence) · get_code("9d13457c7a04bdb3")
tol_cset Not yet run microsoft/coderec_programming_states/between_the_lines/user_study_analysis/colorblind_colors.py
code served (permissive licence) · get_code("52fb834d8edc9f71")
trajectory_entropy Not yet run microsoft/coderec_programming_states/between_the_lines/user_study_analysis/entropy_utils.py
code served (permissive licence) · get_code("855f8589acc66aff")
traverse_tree Not yet run microsoft/coderec_programming_states/when_to_show/get_code_label.py
code served (permissive licence) · get_code("cf65280e02f4e416")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

AI powered code-recommendation systems, such as Copilot and CodeWhisperer, provide code suggestions inside a programmer's environment (e.g., an IDE) with the aim of improving productivity. We pursue mechanisms for leveraging signals about programmers' acceptance and rejection of code suggestions to guide recommendations. We harness data drawn from interactions with GitHub Copilot, a system used by millions of programmers, to develop interventions that can save time for programmers. We introduce a utility-theoretic framework to drive decisions about suggestions to display versus withhold. The approach, conditional suggestion display from human feedback (CDHF), relies on a cascade of models that provide the likelihood that recommended code will be accepted. These likelihoods are used to selectively hide suggestions, reducing both latency and programmer verification time. Using data from 535 programmers, we perform a retrospective evaluation of CDHF and show that we can avoid displaying a significant fraction of suggestions that would have been rejected. We further demonstrate the importance of incorporating the programmer's latent unobserved state in decisions about when to display suggestions through an ablation study. Finally, we showcase how using suggestion acceptance as a reward signal for guiding the display of suggestions can lead to suggestions of reduced quality, indicating an unexpected pitfall.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2306.04930")
get_code_for_paper("2306.04930")
have("2306.04930")

Connect an agent — have() is free.