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

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

基本信息

项目摘要

Computers 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
计算机给我们的日常生活带来了革命性的变化,但在过去的几十年里,我们编写计算机程序的方式几乎没有改变。软件开发仍然是一项乏味且容易出错的活动。Exscape的目标是将编程从纯粹的手动任务转变为程序员和自动化程序合成工具合作生成符合其规范的软件。Exscape方法的一个显著特点是,程序描述可能涉及最适合特定开发任务的广泛构件:不完整的程序;高级需求的声明性规范;所需行为的正面和负面示例;以及在可选实现中进行选择的优化标准。这种多样性旨在允许程序员灵活地通过各种格式表达见解,从而产生更直观、更不容易出错的编程方式。合成工具使用一系列计算方法和开发人员交互,将关于系统结构和功能的这些不同视图组合成统一的、具体的实现。计算技术包括约束满足问题的决策程序;抽象和细化的迭代方案;以及数据驱动的学习。程序员交互方法将验证从设计周期的后端转移到前端,并承诺提供更可靠的软件产品。为了开发所建议范例的理论和实践,Exscape团队汇集了理论基础(计算机辅助验证、控制理论、程序分析)、设计方法(人机交互、基于模型的设计、编程环境)和应用程序(并发编程、网络协议、机器人、系统架构)方面的专业知识。研究将集中在开发新的计算引擎,用于合成人工产物的转换和集成,以及程序员交互和反馈的有效方法。虽然Exscape方法的好处将广泛应用于软件开发,但Exscape团队将集中精力,首先针对四个挑战问题:开发高效的并发数据结构;开发芯片上互连网络的协议;开发分布式路由网络协议;以及自主机器人的最终用户编程。外部视角的方法将从根本上背离今天解决这些问题的方式。例如,对于并发编程的挑战问题,计划中的设计工具将为专家程序员提供智能帮助,以生成高效和正确的代码,而拟议的机器人挑战问题工具将允许最终用户通过示范行为来对机器人进行编程。由于Exscape旨在影响工业实践,将与工业合作伙伴密切合作,开发和评估针对所有四个挑战问题的设计工具。Exscape开发的技术也有可能彻底改变计算概念的教学方式。基于程序合成中使用的核心技术,Exscape团队计划开发能够分析学生的智能辅导软件?回答概念性错误并生成针对该学生量身定做的其他问题。这款辅导软件将针对具有代表性的高中和本科课程开发,并将广泛提供。这一推广努力的目的是通过促进对编程意味着什么的新的、更有吸引力的愿景来吸引更多的学生学习计算学科。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 }}

Madhusudan Parthasarathy其他文献

Timed Control with Partial Observability
具有部分可观测性的定时控制
  • DOI:
    10.1007/978-3-540-45069-6_18
  • 发表时间:
    2003
  • 期刊:
  • 影响因子:
    5.2
  • 作者:
    P. Bouyer;D. D'Souza;Madhusudan Parthasarathy;A. Petit
  • 通讯作者:
    A. Petit
Electronic Proceedings in Theoretical Computer Science, EPTCS: Preface
理论计算机科学电子论文集,EPTCS:前言
  • DOI:
  • 发表时间:
    2016
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Pavol Cerný;Viktor Kunčak;Madhusudan Parthasarathy
  • 通讯作者:
    Madhusudan Parthasarathy

Madhusudan Parthasarathy的其他文献

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

{{ truncateString('Madhusudan Parthasarathy', 18)}}的其他基金

SHF: Small: Automating Software Verification using Natural Proofs
SHF:小型:使用自然证明自动进行软件验证
  • 批准号:
    1527395
  • 财政年份:
    2015
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
TC: Small: Collaborative Research: Formal Security Analysis of Access Control Models and Extensions
TC:小型:协作研究:访问控制模型和扩展的形式安全分析
  • 批准号:
    1018182
  • 财政年份:
    2010
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
CAREER: The Automata Theoretic Method in Software Verification
职业:软件验证中的自动机理论方法
  • 批准号:
    0747041
  • 财政年份:
    2008
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant

相似国自然基金

Research on Quantum Field Theory without a Lagrangian Description
  • 批准号:
    24ZR1403900
  • 批准年份:
    2024
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
Cell Research
  • 批准号:
    31224802
  • 批准年份:
    2012
  • 资助金额:
    24.0 万元
  • 项目类别:
    专项基金项目
Cell Research
  • 批准号:
    31024804
  • 批准年份:
    2010
  • 资助金额:
    24.0 万元
  • 项目类别:
    专项基金项目
Cell Research (细胞研究)
  • 批准号:
    30824808
  • 批准年份:
    2008
  • 资助金额:
    24.0 万元
  • 项目类别:
    专项基金项目
Research on the Rapid Growth Mechanism of KDP Crystal
  • 批准号:
    10774081
  • 批准年份:
    2007
  • 资助金额:
    45.0 万元
  • 项目类别:
    面上项目

相似海外基金

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

作者:{{ showInfoDetail.author }}

知道了