FMitF: Track I: End-User Programming with Synthesis-Guided Interaction Models
FMitF: Track I: End-User Programming with Synthesis-Guided Interaction Models
批准号:
2122950
负责人:
Rastislav Bodik
金额:
$74.97万
依托单位:
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2021
资助国家:
美国
项目状态:
已结题
起止时间:
2021-10-01 至 2024-09-30
中文摘要
电子表格和其他数据分析工具等软件的最终用户通常希望解决超出这些工具内置功能的问题。这样的用户面临着一个“可编程性差距”:为了解决他们的问题,他们需要编写一个程序,但他们缺乏设计算法并在特定编程语言中实现算法所需的多方面专业知识。这个项目是关于通过开发帮助人们编写程序的工具来平坦化编程的陡峭学习曲线。工具和用户之间的交互将围绕演示编程,用户提供程序在看到特定输入时应该做什么的示例,工具将此演示推广到工作程序中。该项目将通过演示将编程扩展为用户和工具之间的双向通信。首先,该工具将向用户解释合成的程序,使用户不必学习新的编程语言。其次,当工具错误地概括了用户的演示时,工具将向用户提出问题以生成正确的程序。 最后,该工具将帮助教师为新手用户编写所谓的编程练习微观世界。该团队汇集了编程语言和人机交互方面的专业知识,以开发底层合成技术和有效的界面供人们使用,专注于数据可视化和创造性人工智能编程领域。 通过开发新的最终用户交互模型和最终用户编程工具,该项目旨在提高人们解决问题的能力,并有可能扩大对计算的参与,以包括那些以前认为编程是不可访问的人。这项工作是围绕基本的挑战,使迭代探索与代码时,规范是不知道的先验。 拟议的工作直接针对这些开放的挑战,设想合成的方法,以实现更灵活,迭代和探索性的工作流程。 要做到这一点,该项目将首先开发一个基础的交互式合成作为一个扩展的求解器辅助编程技术,使自动建设的验证器和合成器。 该基础将包括一小部分原始查询,在此基础上可以实现常见的交互式任务,例如计算合成程序的替代解释。接下来,利用语言结构合成的最新成果,研究人员将开发出在给定领域中可解释的、足够强大的、逐渐可教的编程原语合成方法。 这些技术将在团队开发的现有工具的背景下进行评估,以支持数据分析和创造性编程。该奖项反映了NSF的法定使命,并被认为值得通过使用基金会的知识价值和更广泛的影响审查标准进行评估。
英文摘要
End users of software such as spreadsheets and other data-analysis tools often want to solve problems that go beyond the features built into those tools. Such users face a "programmability gap": to solve their problem, they need to write a program, but they lack the multi-faceted expertise necessary to design an algorithm and implement it in a particular programming language. This project is about flattening the steep learning curve of programming by developing tools that assist people in writing programs. The interaction between the tools and users will revolve around programming by demonstration, where the user provides examples of what the program should do when it sees a particular input and the tool generalizes this demonstration into a working program. The project will extend programming by demonstration into a bidirectional communication between the user and the tool. First, the tool will explain the synthesized program to the user, freeing the user from having to learn a new programming language. Second, when the tool incorrectly generalizes the user's demonstration, the tool will ask the user questions to produce a correct program. Finally, the tool will help teachers author so-called microworlds of programming exercises for novice users. The team brings together expertise in programming languages and human-computer interaction to develop both the underlying synthesis techniques and effective interfaces for people to use them, focusing on the domains of data visualization and creative AI programming. By developing new end-user interaction models and end-user programming tools, the project aims to increase people's ability to solve problems and potentially broadening participation in computing to include those who previously viewed programming as inaccessible. The work is framed around fundamental challenges of enabling iterative exploration with code when the specification is not known a priori. The proposed work targets these open challenges directly, envisioning ways for synthesis to enable more flexible, iterative, and exploratory workflows. To do this, this project will first develop a foundation for interactive synthesis as an extension to solver-aided programming techniques that have enabled automatic construction of verifiers and synthesizers. The foundation will include a small set of primitive queries on top of which one can implement common interactive tasks such as computing alternative explanations of a synthesized program. Next, leveraging the recent results in synthesis of language constructs, the researchers will develop methods for synthesis of programming primitives that are explainable in a given domain, are sufficiently powerful, and gradually teachable. These techniques will be evaluated in the context of existing tools the team has developed to support data analysis and creative programming.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.
期刊论文(11)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
How families design and program games: a qualitative analysis of a 4-week online in-home study
家庭如何设计和编程游戏:为期 4 周的在线家庭研究的定性分析
DOI:
10.1145/3501712.3529724
发表时间:
2022
期刊:
ACM Interaction Design for Children
影响因子:
--
作者:
[Druga, Stefania, Ball, Thomas, Ko, Amy]
通讯作者:
Ko, Amy
The Landscape of Teaching Resources for AI Education
人工智能教育教学资源格局
DOI:
10.1145/3502718.3524782
发表时间:
2022
期刊:
ACM Conference on Innovation and Technology in Computer Science Education
影响因子:
--
作者:
[Druga, Stefania, Otero, Nancy, Ko, Amy J.]
通讯作者:
Ko, Amy J.
Conflict-Driven Synthesis for Layout Engines
布局引擎的冲突驱动综合
DOI:
10.1145/3591246
发表时间:
2023
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Liu, Junrui, Chen, Yanju, Atkinson, Eric, Feng, Yu, Bodik, Rastislav]
通讯作者:
Bodik, Rastislav
Synthesizing analytical SQL queries from computation demonstration
从计算演示中综合分析 SQL 查询
DOI:
10.1145/3519939.3523712
发表时间:
2022
期刊:
PLDI 2022: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
影响因子:
--
作者:
[Zhou, Xiangyu, Bodik, Rastislav, Cheung, Alvin, Wang, Chenglong]
通讯作者:
Wang, Chenglong
DOI:
10.1111/cgf.14476
发表时间:
2021-10
期刊:
Computer Graphics Forum
影响因子:
2.5
作者:
[D. Cașcaval;Mira Shalah;Phillip Quinn;Rastislav Bodík;Maneesh Agrawala;Adriana Schulz]
通讯作者:
D. Cașcaval;Mira Shalah;Phillip Quinn;Rastislav Bodík;Maneesh Agrawala;Adriana Schulz
共 11 条
Collaborative Research: FMitF: Track I: End-usser Programming for CAD Systems via Language Design and Synthesis
-
批准号:2219864
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2022
-
负责人:Rastislav Bodik
-
依托单位:
RAPID: Collecting Reliable COVID-19 Datasets in Crisis Conditions
-
批准号:2029457
-
项目类别:Standard Grant
-
资助金额:$7.0万
-
财政年份:2020
-
负责人:Rastislav Bodik
-
依托单位:
FMitF: Track II: Programming by Demonstration for the Browser with Applications in Data Science
-
批准号:1918027
-
项目类别:Standard Grant
-
资助金额:$9.89万
-
财政年份:2019
-
负责人:Rastislav Bodik
-
依托单位:
Convergence Accelerator Phase I (RAISE): Linking the Open Knowledge Network to the Web with End-User Programming
-
批准号:1936731
-
项目类别:Standard Grant
-
资助金额:$99.47万
-
财政年份:2019
-
负责人:Rastislav Bodik
-
依托单位:
CAPA: Collaborative Research: ARION: Taming Heterogeneity with DSLs, Approximation, and Synthesis
-
批准号:1723352
-
项目类别:Standard Grant
-
资助金额:$85.0万
-
财政年份:2017
-
负责人:Rastislav Bodik
-
依托单位:
SI2-SSE: Algorithms and Tools for Data-Driven Executable Biology
-
批准号:1535191
-
项目类别:Standard Grant
-
资助金额:$49.98万
-
财政年份:2015
-
负责人:Rastislav Bodik
-
依托单位:
Student travel support for POPL 2016
-
批准号:1549324
-
项目类别:Standard Grant
-
资助金额:$1.5万
-
财政年份:2015
-
负责人:Rastislav Bodik
-
依托单位:
Student travel support for POPL 2016
-
批准号:1625220
-
项目类别:Standard Grant
-
资助金额:$1.5万
-
财政年份:2015
-
负责人:Rastislav Bodik
-
依托单位:
SHF: Small: Programming Abstractions for Algorithmic Software Synthesis
-
批准号:0916351
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2009
-
负责人:Rastislav Bodik
-
依托单位:
SoD-TEAM: Programming by Sketching
-
批准号:0613997
-
项目类别:Standard Grant
-
资助金额:$20.0万
-
财政年份:2006
-
负责人:Rastislav Bodik
-
依托单位:
CT-ISG: Implementing Provably Correct High-Performance Ciphers with Sketching
-
批准号:0524815
-
项目类别:Standard Grant
-
资助金额:$45.0万
-
财政年份:2005
-
负责人:Rastislav Bodik
-
依托单位:
CAREER: Scalable Compiler Optimizations for New Software
-
批准号:0243657
-
项目类别:Continuing Grant
-
资助金额:$24.15万
-
财政年份:2002
-
负责人:Rastislav Bodik
-
依托单位:
CAREER: Scalable Compiler Optimizations for New Software
-
批准号:0093275
-
项目类别:Continuing Grant
-
资助金额:$30.0万
-
财政年份:2001
-
负责人:Rastislav Bodik
-
依托单位:
海外基金