CAREER: On the Foundations of Semantic Code Search
职业:语义代码搜索的基础
基本信息
- 批准号:1749936
- 负责人:
- 金额:$ 50万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Continuing Grant
- 财政年份:2018
- 资助国家:美国
- 起止时间:2018-08-01 至 2025-07-31
- 项目状态:未结题
- 来源:
- 关键词:
项目摘要
During software development, programmers frequently use search to find code to reuse. At minimum, code reuse requires that the behavior of the found code satisfies the needs of the programmer. Current search tools consume a textual description of the desired code as a query, which ignores the behavior of the source code. Semantic code search finds code based on behavior, and recent research has demonstrated its potential to find source code to reuse code as well as repair software faults. Challenges arise when 1) the desired code does not exist; 2) there are too many results to navigate efficiently; or 3) it is difficult to differentiate between similar code snippets. These challenges are especially pronounced for programmers in languages that are less supported, such as those used by end-user programmers. This research uses an approach to semantic search that leverages a constraint solver as the matching engine. Code fragments are indexed using symbolic analysis to obtain a constraint representation of the code behavior. Given a query in the form of input and output behavior examples, and constraints that represent the code's behavior, the solver determines if the code satisfies the query. This research develops novel techniques to 1) find approximate solutions to semantic queries; 2) enable richer query models; 3) use the constraints to characterize the differences and similarities in behavior between code snippets; and 4) efficiently navigate the space of potential solutions. The broader impact of this research is on the millions of end-user programmers and professional programmers, allowing them to more effectively reuse code.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.
在软件开发过程中,程序员经常使用搜索来查找代码重复使用。至少,代码重用要求找到的代码的行为满足程序员的需求。当前的搜索工具将所需代码的文本描述作为查询,忽略了源代码的行为。语义代码搜索根据行为找到代码,最近的研究表明,其潜力是找到重用代码和维修软件故障的源代码。当1)不存在所需代码时会出现挑战; 2)有太多的结果有效地导航;或3)很难区分相似的代码段。这些挑战对于使用较少支持的语言的程序员特别明显,例如最终用户程序员使用的挑战。这项研究使用一种方法来利用约束求解器作为匹配引擎。使用符号分析对代码片段进行索引,以获得代码行为的约束表示。给定以输入和输出行为示例的形式进行查询,以及代表代码行为的约束,求解器确定代码是否满足查询。这项研究开发了新技术至1)找到语义查询的近似解决方案; 2)启用更丰富的查询模型; 3)使用约束来表征代码段之间行为的差异和相似性; 4)有效浏览潜在解决方案的空间。 这项研究的更广泛影响是对数百万最终用户程序员和专业程序员的影响,使他们能够更有效地重复使用代码。该奖项反映了NSF的法定任务,并被认为是值得通过基金会的智力优点评估来支持的,并具有更广泛的影响。
项目成果
期刊论文数量(17)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
An Experience Report on Introducing Explicit Strategies into Testing Checklists for Advanced Beginners
关于将显式策略引入高级初学者测试清单的经验报告
- DOI:10.1145/3587102.3588781
- 发表时间:2023
- 期刊:
- 影响因子:0
- 作者:Bai, Gina R.;Sthapit, Sandeep;Heckman, Sarah;Price, Thomas W.;Stolee, Kathryn T.
- 通讯作者:Stolee, Kathryn T.
How Graduate Computing Students Search When Using an Unfamiliar Programming Language
- DOI:10.1145/3387904.3389274
- 发表时间:2020-07
- 期刊:
- 影响因子:0
- 作者:Gina R. Bai;Joshua Kayani;Kathryn T. Stolee
- 通讯作者:Gina R. Bai;Joshua Kayani;Kathryn T. Stolee
Exploring Regular Expression Evolution
探索正则表达式的演变
- DOI:10.1109/saner.2019.8667972
- 发表时间:2019
- 期刊:
- 影响因子:0
- 作者:Wang, Peipei;Bai, Gina R.;Stolee, Kathryn T.
- 通讯作者:Stolee, Kathryn T.
Understanding Similar Code through Comparative Comprehension
通过比较理解来理解相似的代码
- DOI:10.1109/vl/hcc53370.2022.9833117
- 发表时间:2022
- 期刊:
- 影响因子:0
- 作者:Middleton, Justin;Stolee, Kathryn T.
- 通讯作者:Stolee, Kathryn T.
SLACC: Simion-based Language Agnostic Code Clones
- DOI:10.1145/3377811.3380407
- 发表时间:2020-02
- 期刊:
- 影响因子:0
- 作者:George Mathew;Chris Parnin;Kathryn T. Stolee
- 通讯作者:George Mathew;Chris Parnin;Kathryn T. Stolee
{{
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
SHF: SMALL: Automated Discovery of Cross-Language Program Behavior Inconsistency
SHF:SMALL:跨语言程序行为不一致的自动发现
- 批准号:
2006947 - 财政年份:2020
- 资助金额:
$ 50万 - 项目类别:
Standard 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
相似国自然基金
面向语义可解释的泛在文本表征基础理论与模型
- 批准号:62306208
- 批准年份:2023
- 资助金额:30.00 万元
- 项目类别:青年科学基金项目
语义信源编码的信息论基础研究
- 批准号:62301144
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
面向自动驾驶的车载语义通信基础理论及关键技术研究
- 批准号:62171047
- 批准年份:2021
- 资助金额:63 万元
- 项目类别:面上项目
面向未来网络的语义感知命名数据高效存取基础理论研究
- 批准号:61871204
- 批准年份:2018
- 资助金额:63.0 万元
- 项目类别:面上项目
形式化描述高水平智能机器人的逻辑基础研究
- 批准号:61662007
- 批准年份:2016
- 资助金额:41.0 万元
- 项目类别:地区科学基金项目
相似海外基金
Neurocomputational Mechanisms of Affective Semantic Memory Development
情感语义记忆发展的神经计算机制
- 批准号:
10755053 - 财政年份:2023
- 资助金额:
$ 50万 - 项目类别:
Using High Definition transcranial Direct Current Stimulation Guided by Electrophysiology and Diffusion Tensor Imaging to Treat Verbal Retrieval Deficits Secondary to Chronic Traumatic Brain Injury
使用电生理学和扩散张量成像引导的高清经颅直流电刺激治疗继发于慢性创伤性脑损伤的言语检索缺陷
- 批准号:
10590844 - 财政年份:2022
- 资助金额:
$ 50万 - 项目类别:
Neural dynamics and substrates of graphical knowledge
神经动力学和图形知识的基础
- 批准号:
10371663 - 财政年份:2021
- 资助金额:
$ 50万 - 项目类别:
Neural dynamics and substrates of graphical knowledge
神经动力学和图形知识的基础
- 批准号:
10487519 - 财政年份:2021
- 资助金额:
$ 50万 - 项目类别:
Dissociating the mechanisms of Tau PET and cortical atrophy underlying memory deficits in typical and atypical prodromal Alzheimer's disease
解析典型和非典型阿尔茨海默病前驱期记忆缺陷中 Tau PET 和皮质萎缩的机制
- 批准号:
10577894 - 财政年份:2020
- 资助金额:
$ 50万 - 项目类别: