Collaborative Research: Expeditions in Computer Augmented Program Engineering (ExCAPE): Harnessing Synthesis for Software Design

协作研究:计算机增强程序工程探险 (ExCAPE):利用综合进行软件设计

基本信息

  • 批准号:
    1139021
  • 负责人:
  • 金额:
    $ 50万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Continuing Grant
  • 财政年份:
    2012
  • 资助国家:
    美国
  • 起止时间:
    2012-04-01 至 2018-03-31
  • 项目状态:
    已结题

项目摘要

ExCAPE: Expeditions in Computer Augmented Program EngineeringLead PI/Institution: Rajeev Alur, University of PennsylvaniaComputers have revolutionized our daily lives, and yet the way we program computers has changed little in the last several decades. Software development still remains a tedious and error-prone activity. ExCAPE aims to change programming from a purely manual task to one in which a programmer and an automated program synthesis tool collaborate to generate software that meets its specification. A distinguishing feature of the ExCAPE approach is that the program description can involve a wide range of artifacts that are best-suited to the particular development task: incomplete programs; declarative specifications of high-level requirements; positive and negative examples of desired behaviors; and optimization criteria for selecting among alternative implementations. This diversity is aimed at allowing a programmer flexibility to express insights through a variety of formats, leading to a more intuitive and less error-prone way of programming.The synthesis tool uses a range of computational approaches and developer interaction to compose these different views about the structure and functionality of the system into a unified, concrete implementation. The computational techniques include decision procedures for constraint-satisfaction problems; iterative schemes for abstraction and refinement; and data-driven learning. The methodology for programmer interaction moves verification from the back-end of the design cycle to the front-end, with the promise of a more reliable software product.To develop the theory and practice of the proposed paradigm, the ExCAPE team brings together expertise in theoretical foundations (computer-aided verification, control theory, program analysis), design methodology (human-computer interaction, model-based design, programming environments), and applications (concurrent programming, network protocols, robotics, system architecture). Research will focus on developing new computational engines for transformation and integration of synthesis artifacts, and effective methods for programmer interaction and feedback. While the benefits of the ExCAPE approach will apply broadly to software development, the ExCAPE team will focus its efforts by initially targeting four challenge problems: developing efficient concurrent data structures; developing protocols for on-chip interconnection networks; developing distributed routing network protocols; and end-user programming for autonomous robots. The ExCAPE approach will be a radical departure from the way these problems are solved today. For example, for the challenge problem on concurrent programming, the planned design tool will provide smart assistance for expert programmers to produce efficient and correct code, while the proposed tool for the robotics challenge problem will let end users program robots by demonstrating example behaviors. As ExCAPE aims to affect industrial practice, design tools for all four challenge problems will be developed and evaluated in close collaboration with industrial partners.The technology developed by ExCAPE also has the potential to revolutionize the way computing concepts are taught. Building on the core technology used in program synthesis, the ExCAPE team plans to develop smart tutoring software that can analyze students? answers for conceptual errors and generate additional problems tailored to that student.. This tutoring software will be developed for representative high-school and undergraduate courses and will be made widely available. This outreach effort is aimed at attracting more students to computing disciplines by promoting a new and more appealing vision of what it means to program. ExCAPE will also nurture an inter-disciplinary community of researchers in computer-augmented programming, via an annual workshop, a biannual summer school, and a competition for synthesis tools, with associated challenge problems and benchmarks.For more information visit http://excape.cis.upenn.edu
ExCAPE:计算机增强程序工程探险首席 PI/机构:Rajeev Alur,宾夕法尼亚大学计算机彻底改变了我们的日常生活,但我们对计算机进行编程的方式在过去几十年中几乎没有改变。软件开发仍然是一项乏味且容易出错的活动。 ExCAPE 旨在将编程从纯粹的手动任务转变为程序员和自动程序综合工具协作生成符合其规范的软件的任务。 ExCAPE 方法的一个显着特征是程序描述可以涉及最适合特定开发任务的各种工件:不完整的程序;高层次要求的声明性规范;期望行为的正面和负面例子;以及在替代实现中进行选择的优化标准。这种多样性旨在允许程序员灵活地通过各种格式表达见解,从而形成更直观且不易出错的编程方式。综合工具使用一系列计算方法和开发人员交互来组合这些不同的观点将系统的结构和功能统一起来,具​​体实现。计算技术包括约束满足问题的决策程序;抽象和细化的迭代方案;和数据驱动的学习。程序员交互的方法将验证从设计周期的后端转移到前端,并承诺提供更可靠的软件产品。为了开发所提出范例的理论和实践,ExCAPE 团队汇集了以下领域的专业知识:理论基础(计算机辅助验证、控制理论、程序分析)、设计方法(人机交互、基于模型的设计、编程环境)和应用(并发编程、网络协议、机器人、系统架构)。研究将集中于开发用于综合工件转换和集成的新计算引擎,以及程序员交互和反馈的有效方法。虽然 ExCAPE 方法的优势将广泛应用于软件开发,但 ExCAPE 团队将集中精力,首先针对四个挑战问题:开发高效的并发数据结构;开发片上互连网络协议;开发分布式路由网络协议;以及自主机器人的最终用户编程。 ExCAPE 方法将与当今解决这些问题的方式截然不同。例如,对于并发编程的挑战问题,计划的设计工具将为专家程序员提供智能帮助,以生成高效且正确的代码,而针对机器人挑战问题的建议工具将让最终用户通过演示示例行为来对机器人进行编程。由于 ExCAPE 旨在影响工业实践,因此将与工业合作伙伴密切合作开发和评估所有四个挑战问题的设计工具。ExCAPE 开发的技术还有可能彻底改变计算概念的教学方式。 ExCAPE团队计划以程序合成的核心技术为基础,开发能够分析学生的智能辅导软件。该辅导软件将为具有代表性的高中和本科生课程开发,并将广泛使用。这项推广活动旨在通过推广对编程意义的新的、更有吸引力的愿景,吸引更多的学生进入计算机学科。 ExCAPE 还将通过年度研讨会、一年两次的暑期学校以及综合工具竞赛以及相关的挑战问题和基准,培养计算机增强编程领域的跨学科研究人员社区。欲了解更多信息,请访问 http://excape .cis.upenn.edu

项目成果

期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Jeffrey Foster其他文献

Jeffrey Foster的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Jeffrey Foster', 18)}}的其他基金

QCIS-FF: Quantum Computing & Information Science Faculty Fellow at Tufts University
QCIS-FF:量子计算
  • 批准号:
    2013062
  • 财政年份:
    2021
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
FMitF: Track II: Transitioning Ruby Types to Practice
FMITF:轨道 II:将 Ruby 类型转变为实践
  • 批准号:
    1918233
  • 财政年份:
    2019
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Specifying, Checking, and Analyzing Applications Built with Dynamic Language Frameworks
SHF:小型:指定、检查和分析使用动态语言框架构建的应用程序
  • 批准号:
    1319666
  • 财政年份:
    2013
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
TC: Medium: Collaborative Research: Program Analysis for Smartphone Application Security
TC:媒介:协作研究:智能手机应用程序安全的程序分析
  • 批准号:
    1064997
  • 财政年份:
    2011
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Empirical Studies, Principles and Techniques for Software Systems with Complex Configuration Spaces
SHF:小型:具有复杂配置空间的软件系统的实证研究、原理和技术
  • 批准号:
    1116740
  • 财政年份:
    2011
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: User-Centered Software Analysis Tools
SHF:小型:以用户为中心的软件分析工具
  • 批准号:
    0915978
  • 财政年份:
    2009
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
CT-T: Collaborative Research: Complex, High-level, Integrated Properties for Security
CT-T:协作研究:复杂、高级、集成的安全属性
  • 批准号:
    0715650
  • 财政年份:
    2007
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Collaborative Research: Type Qualifiers for Software Security
协作研究:软件安全的类型限定符
  • 批准号:
    0430118
  • 财政年份:
    2004
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
CAREER: Programming Languages Techniques for Enhancing Software Quality
职业:提高软件质量的编程语言技术
  • 批准号:
    0346982
  • 财政年份:
    2004
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant

相似国自然基金

基于肿瘤病理图片的靶向药物敏感生物标志物识别及统计算法的研究
  • 批准号:
    82304250
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
肠道普拉梭菌代谢物丁酸抑制心室肌铁死亡改善老龄性心功能不全的机制研究
  • 批准号:
    82300430
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
社会网络关系对公司现金持有决策影响——基于共御风险的作用机制研究
  • 批准号:
    72302067
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
面向图像目标检测的新型弱监督学习方法研究
  • 批准号:
    62371157
  • 批准年份:
    2023
  • 资助金额:
    50 万元
  • 项目类别:
    面上项目
面向开放域对话系统信息获取的准确性研究
  • 批准号:
    62376067
  • 批准年份:
    2023
  • 资助金额:
    51 万元
  • 项目类别:
    面上项目

相似海外基金

Expeditions: Collaborative Research: Global Pervasive Computational Epidemiology
探险:合作研究:全球普适计算流行病学
  • 批准号:
    2151597
  • 财政年份:
    2021
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
Expeditions: Collaborative Research: Understanding the World Through Code
探险:合作研究:通过代码了解世界
  • 批准号:
    1917852
  • 财政年份:
    2020
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
Expeditions: Collaborative Research: Global Pervasive Computational Epidemiology
探险:合作研究:全球普适计算流行病学
  • 批准号:
    1918626
  • 财政年份:
    2020
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
Expeditions: Collaborative Research: Global Pervasive Computational Epidemiology
探险:合作研究:全球普适计算流行病学
  • 批准号:
    1918656
  • 财政年份:
    2020
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
Expeditions: Collaborative Research: Understanding the World Through Code
探险:合作研究:通过代码了解世界
  • 批准号:
    1918651
  • 财政年份:
    2020
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了