SHF: SMALL: Automated Discovery of Cross-Language Program Behavior Inconsistency
SHF: SMALL: Automated Discovery of Cross-Language Program Behavior Inconsistency
批准号:
2006947
负责人:
Kathryn Stolee
金额:
$50.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2020
资助国家:
美国
项目状态:
未结题
起止时间:
2020-08-01 至 2025-07-31
中文摘要
在软件行业中,存在数百种编程语言,其中许多编程语言被认为是程序员应该熟练掌握的。通常的假设是,一旦程序员了解了一种语言,他们就可以利用已经学到的概念和知识,轻松地学习另一种编程语言。不幸的是,经验研究发现,由于跨编程语言的概念和表达式之间不精确的不匹配,这一过程容易出错且效率低下。这个项目开发了一些技术,通过识别和解释不同语言中的代码行为是如何相关的,来简化新编程语言的知识获取。预期的结果是,程序员将更快地学习新语言,编写错误更少的代码。除了受过更好教育的程序员的一般好处外,教授计算机编程的技术尤其重要,因为编程对于一个数字文化社会来说是一项关键技能。这个项目将开发出自动识别两种编程语言之间的无能和潜在误解的技术。本项目将研究两个主要的研究任务。第一个任务是开发一种方法,用于根据动态行为、可能的不变量、观察到的副作用和性能自动识别相似代码的集群。行为集群是由多种语言的片段组成的,这些片段在相同的输入上产生相同的输出。来自观察到的行为的可能不变量被用来描述相似和不同。第二项任务是开发一种技术,以识别当程序员假设代码应该表现相同但实际上并非如此时出现的误解。为了识别误解,该技术利用代码相似性分析中的行为集群和特征;候选代码是看起来相似但行为不同的公开(行为)或隐蔽(性能,副作用)方式的代码。这项技术将根据出现的可能性和可能的影响对错误概念进行排名。最后,该技术将使用不变量、行为、副作用和性能来形成对行为相似和差异的自动解释。最后,这些技术和解释将应用于两组真正的程序员:懂一种语言并需要学习一种新语言的转学学生,以及使用多种编程语言完成任务的数据科学家。对于以学生、专业或爱好身份学习一门新语言的程序员来说,这项工作旨在提高他们获得编程语言知识的速度和可靠性。该奖项反映了NSF的法定使命,并通过使用基金会的智力优势和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
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.
期刊论文(2)
专著(0)
科研奖励(0)
会议论文
DOI:
10.1145/3468264.3468538
发表时间:
2021-06
期刊:
Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
作者:
[George Mathew;Kathryn T. Stolee]
通讯作者:
George Mathew;Kathryn T. Stolee
Understanding Similar Code through Comparative Comprehension
通过比较理解来理解相似的代码
DOI:
10.1109/vl/hcc53370.2022.9833117
发表时间:
2022
期刊:
2022 IEEE Symposium on Visual Languages and Human-Centric Computing
影响因子:
--
作者:
[Middleton, Justin, Stolee, Kathryn T.]
通讯作者:
Stolee, Kathryn T.
Improving Software Testing Education through Lightweight Explicit Testing Strategies and Feedback
-
批准号:2141923
-
项目类别:Standard Grant
-
资助金额:$30.0万
-
财政年份:2022
-
负责人:Kathryn Stolee
-
依托单位:
CAREER: On the Foundations of Semantic Code Search
-
批准号:1749936
-
项目类别:Continuing Grant
-
资助金额:$50.0万
-
财政年份:2018
-
负责人:Kathryn Stolee
-
依托单位:
SHF: Small: Supporting Regular Expression Testing, Search, Repair, Comprehension, and Maintenance
-
批准号:1714699
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2017
-
负责人:Kathryn Stolee
-
依托单位:
SHF: Medium: Collaborative Research: Semi and Fully Automated Program Repair and Synthesis via Semantic Code Search
-
批准号:1645136
-
项目类别:Continuing Grant
-
资助金额:$38.77万
-
财政年份:2016
-
负责人:Kathryn Stolee
-
依托单位:
SHF: EAGER: Collaborative Research: Demonstrating the Feasibility of Automatic Program Repair Guided by Semantic Code Search
-
批准号:1646813
-
项目类别:Standard Grant
-
资助金额:$1.68万
-
财政年份:2016
-
负责人:Kathryn Stolee
-
依托单位:
SHF: Medium: Collaborative Research: Semi and Fully Automated Program Repair and Synthesis via Semantic Code Search
-
批准号:1563726
-
项目类别:Continuing Grant
-
资助金额:$38.77万
-
财政年份:2016
-
负责人:Kathryn Stolee
-
依托单位:
SHF: EAGER: Collaborative Research: Demonstrating the Feasibility of Automatic Program Repair Guided by Semantic Code Search
-
批准号:1446932
-
项目类别:Standard Grant
-
资助金额:$7.3万
-
财政年份:2014
-
负责人:Kathryn Stolee
-
依托单位:
国内基金
海外基金
登录
查看更多内容
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2024
-
负责人:
-
依托单位:
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:10.0万元
-
批准年份:2022
-
负责人:张祥忠
-
依托单位:
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
-
批准号:32000033
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:林平
-
依托单位:
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
-
批准号:31972324
-
项目类别:面上项目
-
资助金额:58.0万元
-
批准年份:2019
-
负责人:高学文
-
依托单位:
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
-
批准号:81900988
-
项目类别:青年科学基金项目
-
资助金额:21.0万元
-
批准年份:2019
-
负责人:毛梦莹
-
依托单位:
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
-
批准号:31870821
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2018
-
负责人:陈江宁
-
依托单位:
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
-
批准号:31802058
-
项目类别:青年科学基金项目
-
资助金额:26.0万元
-
批准年份:2018
-
负责人:麻慧
-
依托单位:
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
-
批准号:31772128
-
项目类别:面上项目
-
资助金额:60.0万元
-
批准年份:2017
-
负责人:吴建国
-
依托单位:
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
-
批准号:81704176
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2017
-
负责人:赵继梦
-
依托单位:
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
-
批准号:91640114
-
项目类别:重大研究计划
-
资助金额:85.0万元
-
批准年份:2016
-
负责人:何祖华
-
依托单位: