论文笔记:The Impact of AI on Developer Productivity:Evidence from GitHub Copilot

0 abstract 

  • 本文介绍了一项对GitHub Copilot(一种人工智能编程助手)的控制实验结果。
  • 研究人员招募了软件开发人员,要求他们尽可能快地用JavaScript实现一个HTTP服务器。实验组可以访问人工智能编程助手,比对照组完成任务的速度快55.8%。
  • 观察到的异质性效应表明,人工智能编程助手有望帮助人们过渡到软件开发职业。

1 实验设计 

  • 计算了两个指标作为衡量每个组的表现:任务成功率和任务完成时间。
    • 任务成功率是指一个组中成功完成任务的参与者所占的百分比。
    • 任务完成时间是从任务开始到结束所需的时间
  • 在参与者完成任务后,研究者向他们发送了退出调查的链接。
    • 询问了实验组他们在执行任务时发现GitHub Copilot有多有帮助,以及他们估计与不使用GitHub Copilot相比,他们完成任务的速度提高了多少。
    • 还要求对照组估计如果他们使用了GitHub Copilot,他们会经历多大的速度提升,这是在向他们展示了一分钟的演示视频之后

2 实验对象

  • 95名开发者被随机分配到对照组和实验组,实验组45人,对照组50人。实验组和对照组各有35名开发者完成了任务和调查
  • 大多数参与者的年龄在25-34岁之间,来自印度和巴基斯坦。
    • 这组参与者的特点是相对较低的收入(与美国标准相比,年中位收入在10,000至19,000美元之间)但教育水平较高(大多数人拥有4年制学位及以上)。
    • 这个组别的平均编程经验为6年,并且平均报告在一个工作日中花费9小时进行编程。

3 实验结果

实验组——使用copilot

对照组——不适用copilot

3.1 完成时间

  • 实验组的平均完成时间为71.17分钟,对照组为160.89分钟。
    • 这代表了55.8%的完成时间缩短。t检验的p值为0.0017,改善的95%置信区间在[21%, 89%]之间。
  • 有四个异常值的完成时间超过300分钟。
    • 所有异常值都在对照组,但即使去掉这些异常值,我们的结果依然稳健。
  • 这一结果表明,在我们的实验人群中,Copilot显著提高了平均生产力。

3.2 完成时间在不同维度上是否有差异

  • 然后,论文调查这种效应在不同维度(包括经验、就业状况、收入、教育和软件语言偏好)上是否存在异质性。
    • 应用Horvitz-Thomson转换,然后对观测到的转换后结果进行回归分析。
  • 表1中的估计结果报告了这次回归的系数。
    • 结果显示,经验较少的开发者(职业编程年数)、编码负载较重的开发者(每天编程时间)、以及年龄较大的开发者(年龄在25至44岁之间的开发者)从Copilot中获益更多。

3.3 受试对象的体验

  • 进行了一项包含两个问题的退出调查,以了解受试对象的体验。
    • 首先,要求他们估计Copilot在完成任务方面提供的生产力增益或损失(以百分比表示)。
    • 虽然对照组在执行任务期间没有接触到Copilot,但在回答这个问题之前,他们观看了教程视频,因此了解了Copilot的功能。
  • 图7展示了对照组和实验组自我报告的生产力增益估计的分布。
    • 平均而言,实验组和对照组的参与者估计生产力增加了35%,与他们实际显示的55.8%的增幅相比,这是一种低估。

 

3.4 支付意愿

  • 在第二个问题中,参与者被问到他们愿意为获取GitHub Copilot发布通知的最高月价格是多少。
  • 这个问题的目的是了解开发者支付Copilot的意愿,因为这个问题的答案提供了开发者支付意愿的上限。
    • 图8展示了对照组和实验组分开的无关价格分布。
      • 实验组的平均无关价格为每月27.25美元,对照组的平均无关价格为每月16.91美元。
      • 这种差异在95%的水平上具有统计学意义。
      • 这一结果间接证明了实验组在任务中受益于Copilot,因为他们的支付意愿显著高于对照组。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/152501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud 微服务全栈体系(十四)

第十一章 分布式搜索引擎 elasticsearch 四、RestAPI ES 官方提供了各种不同语言的客户端,用来操作 ES。这些客户端的本质就是组装 DSL 语句,通过 http 请求发送给 ES。官方文档地址:https://www.elastic.co/guide/en/elasticsearch/client/…

【Windows 常用工具系列 11 -- 福昕PDF搜索高亮过的文本】

文章目录 福昕 PDF 搜索高亮过的文本 福昕 PDF 搜索高亮过的文本 在 pdf 文档阅读过程中,我们需要经常高亮一些文本,以方便下次阅读时找到重点。我这边使用的是 福昕PDF 阅读器,下面就介绍下如何在福昕阅读器中搜索已经高亮过的文本。

音视频同步笔记 - 以音频时间为基

音视频同步 - 以音频时间为基 上图介绍: 该图是以音频的时间为基,对视频播放时间的延迟控制方案,只调整视频的播放延时。delayTime是视频播放的延迟时间,初始值是1 / FPS * 1000 (ms),如果FPS为25帧率,初始…

nodejs微信小程序 +python+PHP+图书销售管理系统的设计与实现-网上书店-图书商城-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

桥接模式学习

目录 背景过程总结 背景 现在要解决源码阶段的继承关系,无法在运行时改变从父类继承的实现。这里用的是手机品牌还有手机中的app,这种问题如何进行解决呢。这就要引入一个模式:桥接模式 过程 1、原则:合成/复用原则 &#xff1…

PPT幻灯片里的图片,批量提取

之前分享过如何将PPT文件导出成图片,今天继续分享PPT技巧,如何提取出PPT文件里面的图片。 首先,我们将PPT文件的后缀名,修改为rar,将文件改为压缩包文件 然后我们将压缩包文件进行解压 最好是以文件夹的形式解压出来…

java学习part06数组工具类

1比较内容 2输出信息 3值填充 4快速排序 5二分查找 负数没找到,其他表示下标

Linux本地WBO创作白板部署与远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

Kafka 集群实现数据同步

Kafka 介绍 Kafka 是一个高吞吐的分布式消息系统,不但像传统消息队列(RaabitMQ、RocketMQ等)那样能够【异步处理、流量消峰、服务解耦】 还能够把消息持久化到磁盘上,用于批量消费。除此之外由于 Kafka 被设计成分布式系统&…

airlearning-ue4安装的踩坑记录

最近要安装airlearning-ue4,用于实现无人机仿真环境,该项目地址为:GitHub - harvard-edge/airlearning-ue4: Environment Generator for Air Learning Project. This version is build on top of UE4 game engine 由于这个项目已经完成好几年…

buildadmin+tp8表格操作(5)自定义组装搜索的查询

有时候我们会自定义组装一些数据,发送给后端,让后端来进行筛选,这里有一个示例 const onComSearchIdEq () > {// 展开公共搜索baTable.table.showComSearch true/*** 公共搜索表单赋值* 范围搜索有两个输入框,输入框绑定变量…

表内容的操作(增删查改)【MySQL】

文章目录 表的 CRUDCreate(增加)插入记录插入冲突则更新记录替换记录 Retrieve(查找)查找记录指定表达式的别名为结果去重WHERE 子句运算符条件查询区间查询模糊查询空值查询 对结果排序筛选分页结果 Update(修改&…

集合框架面试题

一、集合容器的概述 1. 什么是集合 集合框架:用于存储数据的容器。 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容: 对外的接口、接口的实现和对集合运算的算 法。 接口:表示集合的抽象数据…

机器人制作开源方案 | 钻孔植树一体化沙漠车

作者:徐邦国、张博宇、刘露、李晶晶、吕洁秀单位:天津职业技术师范大学 机械工程学院指导老师:何永利 摘要:本项目旨在设计一种专用于沙漠植树的植树车,以沙漠自动化植树为研究对象,提出一种创新式钻…

milvus采坑一:启动服务就会挂掉

原因一 硬盘满了,Eric数据文件存储在硬盘上,当硬盘不足,它就会启动后就挂掉。 此时pymilvus连接一直是timeout。 解决方法:更换存储路径。

外观模式 rust和java的实现

外观模式 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。它向现有的系统添加一个接口,来隐藏系统的复杂性。 举个例子 :就像电脑的usb接口,自己内部实现了复杂…

python note

Python 基本操作 (赋值、分支及循环语句、使用 import 导入库); Python 的 With 语句 ; NumPy ,Python 下常用的科学计算库。TensorFlow 与之结合紧密; 向量 和 矩阵 运算(矩阵的加减法、矩阵…

智慧化工园区信息化整体解决方案:PPT全53页,附下载

关键词:智慧化工园区建设方案,智慧化工园区建设规范,智慧化工园区建设指南 一、售智慧化工园区建设背景 随着工业化、信息化和数字化进程的加速,化工园区面临着越来越多的挑战,如安全生产、环境保护、能源消耗等问题…

2023.11.17使用flask将多个图片文件上传至服务器

2023.11.17使用flask将多个图片文件上传至服务器 实现功能: 1、同时上传多个图片文件 2、验证文件扩展名 3、显示上传文件的文件名 4、显示文件上传结果 程序结构 main.py from flask import Flask, request, jsonify, render_template import osapp Flask(__n…

GaussDB SQL基础语法示例-GOTO语句

目录 一、前言 二、在GaussDB数据库中的概念及语法 1、基本概念 2、语法 三、在GaussDB数据库中的基础示例和限制场景说明 1、基础示例 2、限制场景说明 四、小结 一、前言 SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、…