课题基金 / 基金详情

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中,该环境可以在Web上免费获得。为了评估Snippy,调查人员与程序员进行了受控的A-B实验,测试Snippy是否帮助他们解决典型的编程任务。这一奖项反映了NSF的法定使命,并通过使用基金会的智力优势和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
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
  • 依托单位:
海外基金