SHF: SMALL: Automated Discovery of Cross-Language Program Behavior Inconsistency

SHF:SMALL:跨语言程序行为不一致的自动发现

基本信息

  • 批准号:
    2006947
  • 负责人:
  • 金额:
    $ 50万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2020
  • 资助国家:
    美国
  • 起止时间:
    2020-08-01 至 2025-07-31
  • 项目状态:
    未结题

项目摘要

In the software industry, hundreds of programming languages exist, many of which programmers are expected to be proficient in. The common assumption has been that once a programmer knows one language, they can leverage concepts and knowledge already learned and easily pick up another programming language. Unfortunately, empirical studies find this process to be error-prone and ineffective due to imprecise mismatches between concepts and expressions across programming languages. This project develops techniques to ease the acquisition of knowledge for new programming languages by identifying and explaining how the behaviors of code in different languages relate. The anticipated result is that programmers will learn new languages faster and write code with fewer bugs. Beyond the general benefit of better-educated programmers, techniques for teaching computer programming are important in particular because programming is a crucial skill for a digitally literate society.This project will develop techniques to automatically identify incapabilities and potential misconceptions between two programming languages. Two main research tasks will be investigated for this project. The first task is to develop an approach for automatically identifying clusters of similar code based on dynamic behavior, likely invariants, observed side effects, and performance. Behavioral clusters are formed from snippets in multiple languages that produce the same outputs on the same inputs. Likely invariants from observed behavior are used to describe similarities and differences. The second task is to develop a technique to identify misconceptions that emerge when a programmer assumes code should behave the same but it does not. To identify misconceptions, the technique leverages the behavior clusters and characterizations from the code similarity analysis; code that looks similar but behaves differently in overt (behavior) or insidious (performance, side effects) ways are candidates. The technique will rank misconceptions based on probability of appearing and likely impact. Finally, the technique will use invariants, behavior, side effects and performance to form automated explanations of behavioral similarities and differences. Finally, these techniques and explanations will be applied for the benefit of two groups of real programmers: transfer students who know one language and need to learn a new one, and data scientists who work with many programming languages to complete their tasks. For programmers learning a new language, in student, professional, or hobby capacities, this work aims to increase the speed and reliability with which they acquire knowledge of the programming language.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.
在软件行业中,存在数百种编程语言,其中许多程序员有望精通。常见的假设是,一旦程序员知道一种语言,他们就可以利用已经学到的概念和知识,并轻松地选择了另一种编程语言。不幸的是,由于跨编程语言之间的概念和表达式之间的不适当匹配,因此,经验研究发现此过程容易出错,并且无效。该项目通过识别和解释不同语言的代码行为如何相关的技术来开发以减轻新编程语言知识的获取的技术。预期的结果是,程序员将更快地学习新语言,并以更少的错误编写代码。除了受过良好教育的程序员的一般好处之外,教授计算机编程的技术特别重要,因为编程是数字素养的社会的关键技能。该项目将开发技术以自动识别两种编程语言之间的无能力和潜在的误解。该项目将研究两个主要的研究任务。第一个任务是开发一种基于动态行为,可能不变的,观察到的副作用和性能自动识别类似代码簇的方法。行为簇是由多种语言的摘要形成的,这些语言在同一输入上产生相同的输出。观察到的行为可能不变来描述相似性和差异。第二个任务是开发一种技术来识别程序员假定代码的行为相同但事实并非如此时出现的误解。为了识别误解,该技术利用了代码相似性分析的行为群体和特征;看起来相似但行为的代码在公开(行为)或阴险(性能,副作用)的方式中是候选人。该技术将根据出现概率和可能影响的可能性进行误解。 最后,该技术将使用不变,行为,副作用和性能来形成对行为相似性和差异的自动解释。最后,这些技术和解释将用于两组真正的程序员的好处:转学学生,他们了解一种语言并且需要学习新的语言,以及与许多编程语言一起完成任务的数据科学家。对于程序员学习新语言,学生,专业或业余爱好能力,这项工作旨在提高他们获得对编程语言知识的速度和可靠性。该奖项反映了NSF的法定任务,并被认为是值得通过基金会的知识分子优点和更广泛影响的评估来通过评估来支持的。

项目成果

期刊论文数量(2)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Cross-language code search using static and dynamic analyses
Understanding Similar Code through Comparative Comprehension
通过比较理解来理解相似的代码
{{ 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 }}

Kathryn Stolee其他文献

Kathryn Stolee的其他文献

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

{{ truncateString('Kathryn Stolee', 18)}}的其他基金

Improving Software Testing Education through Lightweight Explicit Testing Strategies and Feedback
通过轻量级显式测试策略和反馈改进软件测试教育
  • 批准号:
    2141923
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
CAREER: On the Foundations of Semantic Code Search
职业:语义代码搜索的基础
  • 批准号:
    1749936
  • 财政年份:
    2018
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
SHF: Small: Supporting Regular Expression Testing, Search, Repair, Comprehension, and Maintenance
SHF:小型:支持正则表达式测试、搜索、修复、理解和维护
  • 批准号:
    1714699
  • 财政年份:
    2017
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Medium: Collaborative Research: Semi and Fully Automated Program Repair and Synthesis via Semantic Code Search
SHF:媒介:协作研究:通过语义代码搜索进行半自动化和全自动程序修复和合成
  • 批准号:
    1645136
  • 财政年份:
    2016
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
SHF: EAGER: Collaborative Research: Demonstrating the Feasibility of Automatic Program Repair Guided by Semantic Code Search
SHF:EAGER:协作研究:展示语义代码搜索引导的自动程序修复的可行性
  • 批准号:
    1646813
  • 财政年份:
    2016
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Medium: Collaborative Research: Semi and Fully Automated Program Repair and Synthesis via Semantic Code Search
SHF:媒介:协作研究:通过语义代码搜索进行半自动化和全自动程序修复和合成
  • 批准号:
    1563726
  • 财政年份:
    2016
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant
SHF: EAGER: Collaborative Research: Demonstrating the Feasibility of Automatic Program Repair Guided by Semantic Code Search
SHF:EAGER:协作研究:展示语义代码搜索引导的自动程序修复的可行性
  • 批准号:
    1446932
  • 财政年份:
    2014
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant

相似国自然基金

靶向Treg-FOXP3小分子抑制剂的筛选及其在肺癌免疫治疗中的作用和机制研究
  • 批准号:
    32370966
  • 批准年份:
    2023
  • 资助金额:
    50 万元
  • 项目类别:
    面上项目
化学小分子激活YAP诱导染色质可塑性促进心脏祖细胞重编程的表观遗传机制研究
  • 批准号:
    82304478
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
靶向小胶质细胞的仿生甘草酸纳米颗粒构建及作用机制研究:脓毒症相关性脑病的治疗新策略
  • 批准号:
    82302422
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
HMGB1/TLR4/Cathepsin B途径介导的小胶质细胞焦亡在新生大鼠缺氧缺血脑病中的作用与机制
  • 批准号:
    82371712
  • 批准年份:
    2023
  • 资助金额:
    49 万元
  • 项目类别:
    面上项目
小分子无半胱氨酸蛋白调控生防真菌杀虫活性的作用与机理
  • 批准号:
    32372613
  • 批准年份:
    2023
  • 资助金额:
    50 万元
  • 项目类别:
    面上项目

相似海外基金

SHF: Small: Modular Automated Verification of Concurrent Data Structures
SHF:小型:并发数据结构的模块化自动验证
  • 批准号:
    2304758
  • 财政年份:
    2023
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Automated Verification and Synthesis of Input Generators in Property-Based Testing Frameworks
SHF:小型:基于属性的测试框架中输入生成器的自动验证和合成
  • 批准号:
    2321680
  • 财政年份:
    2023
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Automated Unit Test Generation using Large Language Models
SHF:小型:使用大型语言模型自动生成单元测试
  • 批准号:
    2307742
  • 财政年份:
    2023
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Toward Fully Automated Formal Software Verification
SHF:小型:迈向全自动形式软件验证
  • 批准号:
    2210243
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Synergy between Automated Reasoning and Interactive Theorem Proving
SHF:小:自动推理和交互式定理证明之间的协同作用
  • 批准号:
    2229099
  • 财政年份:
    2022
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了