课题基金 / 基金详情

SHF: Medium: Human-Centric Program Synthesis

SHF: Medium: Human-Centric Program Synthesis
SHF:媒介:以人为本的程序综合
批准号:
2107397
负责人:
Nadia Polikarpova
金额:
$100.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2021
资助国家:
美国
项目状态:
未结题
起止时间:
2021-09-01 至 2025-08-31

项目摘要

项目成果

Nadia Polikarpova的其他基金

相似基金

相关文献

中文摘要
翻译
程序合成的目标是使软件开发过程自动化,帮助更快、更便宜、更少错误地构建软件。尽管在这个领域有许多最新的研究进展,但是在主流软件开发中合成的使用还是有限的。原因是该领域的先前研究主要集中在程序合成器的算法上,而很少关注合成器与人类程序员之间的交互。这个项目研究了程序合成面向人类的一面,其目标是让程序员更容易使用合成器,并将这些工具更好地集成到软件开发工作流中。通过改变程序员编写代码的方式,这个项目有可能以更低的成本使软件变得更好。该项目在程序合成和人机交互的交叉领域探索了三个广泛的研究领域。(1)沟通意图:程序员应该如何向合成器提供输入?(2)理解合成代码:程序员应该如何理解合成器的输出?(3)紧密集成的合成工作流:我们应该如何将合成紧密集成到程序员的工作流中?更具体地说,研究人员解决了以下研究挑战:(1)了解合成技术如何利用多种规格;(2)开发新的合成技术,可以在不完整或不正确的规格下工作;(3)指导综合技术考虑到以人为本的考虑,如代码的可理解性,或工具的可预测性;(4)根据程序员的喜好个性化综合方法,使工具更可用,结果对程序员个人来说更容易理解;(5)调整传统的编程工作流程,使其更易于综合;(6)使程序员更容易决定,在给定任务时,是应该使用合成还是直接编写代码。在这个项目中开发的所有新技术都被整合到一个在线开发环境Snippy中,该环境可以在网上免费获得。为了评估Snippy,研究人员对程序员进行了受控的A-B实验,测试Snippy是否能帮助他们解决典型的编程任务。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
The goal of Program Synthesis is to automate the process of software development, helping to build software faster, cheaper, and with fewer errors. Despite many recent research advances in this area, there is limited to no use of synthesis in mainstream software development. The reason is that prior research in this area has mainly focused on the algorithms that power program synthesizers, and have devoted much less attention to the interaction between a synthesizer and a human programmer. This project investigates the human-facing side of Program Synthesis, with the goal of making synthesizers more usable by programmers and integrating these tools better into software-development workflows. By transforming the way in which programmers write code, this project has the potential to make software better at a lower cost.The project explores three broad research arcs at the intersection of Program Synthesis and Human-Computer Interaction. (1) Communicating Intent: How should the programmer provide input to the synthesizer? (2) Comprehending Synthesized Code: How should the programmer understand the output of the synthesizer? (3) Tightly Integrated Synthesis Workflow: How should we tightly integrate synthesis into the programmer's workflow? More specifically, the investigators tackle the following research challenges: (1) understanding how synthesis techniques can take advantage of multiples kinds of specifications; (2) developing novel synthesis techniques that can work in the face of incomplete or incorrect specifications; (3) guiding synthesis techniques to take into account human-oriented considerations, such as understandability of the code, or predictability of the tool; (4) personalize synthesis approaches to the preferences of the programmer, to make the tools more usable and the results more understandable to the individual programmer; (5) adapting traditional programming workflows to make them more amenable to synthesis; (6) making it easier for the programmer to decide, given a task, if they should use synthesis or just write the code directly. All new techniques developed in this project are incorporated into an online development environment Snippy, which is freely available on the web. To evaluate Snippy, the investigators conduct controlled A-B experiments with programmers, testing whether Snippy helps them solve typical programming tasks.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(2)
专著(0)
科研奖励(0)
会议论文
DOI: 10.1145/3586030
发表时间: 2022-06
期刊: Proceedings of the ACM on Programming Languages
影响因子: --
作者: [Shraddha Barke;M. James;N. Polikarpova]
通讯作者: Shraddha Barke;M. James;N. Polikarpova
LooPy: interactive program synthesis with control structures
LooPy:具有控制结构的交互式程序合成
DOI: 10.1145/3485530
发表时间: 2021
期刊: Proceedings of the ACM on Programming Languages
影响因子: --
作者: [Ferdowsifard, Kasra, Barke, Shraddha, Peleg, Hila, Lerner, Sorin, Polikarpova, Nadia]
通讯作者: Polikarpova, Nadia
CAREER: Type-Driven Program Synthesis
  • 批准号:
    1943623
  • 项目类别:
    Continuing Grant
  • 资助金额:
    $60.0万
  • 财政年份:
    2020
  • 负责人:
    Nadia Polikarpova
  • 依托单位:
SHF: Small: NSF-BSF: Synthesis of Safe Pointer-Manipulating Programs
  • 批准号:
    1911149
  • 项目类别:
    Standard Grant
  • 资助金额:
    $50.0万
  • 财政年份:
    2019
  • 负责人:
    Nadia Polikarpova
  • 依托单位:
SHF: Small: Collaborative Research: Resource-Guided Program Synthesis
  • 批准号:
    1814358
  • 项目类别:
    Standard Grant
  • 资助金额:
    $25.0万
  • 财政年份:
    2018
  • 负责人:
    Nadia Polikarpova
  • 依托单位:
海外基金