SHF: Medium: Collaborative Research: Semi and Fully Automated Program Repair and Synthesis via Semantic Code Search
SHF: Medium: Collaborative Research: Semi and Fully Automated Program Repair and Synthesis via Semantic Code Search
批准号:
1564162
负责人:
Yuriy Brun
金额:
$40.0万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2016
资助国家:
美国
项目状态:
已结题
起止时间:
2016-07-01 至 2022-06-30
中文摘要
我们经济的许多方面都严重依赖于软件的正确工作。然而,软件错误是常见的,通常会导致安全漏洞,每年给我们的经济造成数十亿美元的损失。尽管众所周知软件错误的成本很高,但软件行业仍在努力克服这一挑战,因为报告新错误的速度比修复它们的速度要快。最近的研究表明,自动程序修复技术的潜力,以解决这一挑战。 在这项研究中,我们开发了新的技术来修复软件错误和自动实现新功能。挑战在于在不破坏其他功能的情况下修复代码,并致力于修复日益复杂的代码。该方法利用了开源代码的高可用性,这些代码已经实现了新软件项目所需的许多功能。该方法是在开源项目中搜索相关代码,使用自动软件修复和生成技术使代码适应新的上下文,然后验证更改后的软件。该方法的一个关键组成部分是语义代码搜索,它查询大型代码数据库以查找满足行为规范的代码片段。该项目开发了新的技术,(1)将大型可搜索的代码体编码为行为配置文件,(2)将错误和功能定位到代码块,模块和组件,(3)提取这些块,模块和组件的所需行为配置文件,(4)使用提取的配置文件搜索数据库中的潜在补丁,(5)调整潜在补丁以适应代码上下文,以及(6)验证潜在补丁。该项目专注于生成高质量的代码,验证注入的代码不会破坏现有的功能。 更广泛的影响主要来自通过重用和适应现有代码从根本上提高软件生产力的目标。
英文摘要
Many aspects of our economy rely heavily on software working correctly. However, software errors are common, routinely cause security breaches, and cost our economy billions of dollars annually. Despite the well-known high costs of software errors, the software industry struggles to overcome this challenge, as new errors are reported faster than they can be fixed. Recent research has demonstrated the potential of automated program repair techniques to address this challenge. In this research, we develop new techniques to fix software errors and implement new features automatically. The challenge is to fix code while not breaking other functionality, and to work toward repairing code of increasing complexity.The approach takes advantage of the high availability of open-source code that already implements many functions required for a new software project. The approach is to search for relevant code in open-source projects, adapt that code to its new context using automated software repair and generation techniques, and then validate the changed software. A key component of the approach is semantic code search, which queries large databases of code to find code snippets that satisfy a behavioral specification. The project develops novel techniques that (1) encode large, searchable bodies of code as behavioral profiles, (2) localize bugs and features to code blocks, modules, and components, (3) extract the desired behavioral profiles of those blocks, modules, and components, (4) use the extracted profiles to search the database for potential patches, (5) adapt the potential patches to fit into the code context, and (6) validate the potential patches. The project focuses on producing high-quality code, verifying that the injected code does not break existing functionality. The broader impacts come mainly from goal of radically improving software productivity through reuse and adaptation of existing code.
期刊论文(2)
专著(0)
科研奖励(0)
会议论文
DOI:
10.1109/tse.2019.2944914
发表时间:
2021-10
期刊:
IEEE Transactions on Software Engineering
影响因子:
7.4
作者:
[Afsoon Afzal;Manish Motwani;Kathryn T. Stolee;Yuriy Brun;Claire Le Goues]
通讯作者:
Afsoon Afzal;Manish Motwani;Kathryn T. Stolee;Yuriy Brun;Claire Le Goues
Tortoise: Interactive system configuration repair
Tortoise:交互式系统配置修复
DOI:
10.1109/ase.2017.8115673
发表时间:
2017
期刊:
Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE
影响因子:
--
作者:
[Weiss, Aaron, Guha, Arjun, Brun, Yuriy]
通讯作者:
Brun, Yuriy
SHF: Small: Toward Fully Automated Formal Software Verification
-
批准号:2210243
-
项目类别:Standard Grant
-
资助金额:$59.99万
-
财政年份:2022
-
负责人:Yuriy Brun
-
依托单位:
SHF: Medium: Fairness in Software Systems
-
批准号:1763423
-
项目类别:Continuing Grant
-
资助金额:$105.0万
-
财政年份:2018
-
负责人:Yuriy Brun
-
依托单位:
EAGER: Exploring the Feasibility of Software Testing Techniques to Evaluate Fairness Algorithms in Software Systems
-
批准号:1744471
-
项目类别:Standard Grant
-
资助金额:$13.12万
-
财政年份:2017
-
负责人:Yuriy Brun
-
依托单位:
CAREER: Improving Software Quality using Dynamically Inferred Models
-
批准号:1453474
-
项目类别:Continuing Grant
-
资助金额:$43.94万
-
财政年份:2015
-
负责人:Yuriy Brun
-
依托单位:
TWC: Medium: Collaborative: Developer Crowdsourcing: Capturing, Understanding, and Addressing Security-related Blind Spots in APIs
-
批准号:1513055
-
项目类别:Standard Grant
-
资助金额:$38.28万
-
财政年份:2015
-
负责人:Yuriy Brun
-
依托单位:
SHF: EAGER: Collaborative Research: Demonstrating the Feasibility of Automatic Program Repair Guided by Semantic Code Search
-
批准号:1446683
-
项目类别:Standard Grant
-
资助金额:$8.7万
-
财政年份:2014
-
负责人:Yuriy Brun
-
依托单位:
Travel Grant for Future of Software Engineering 2013 Symposium
-
批准号:1341994
-
项目类别:Standard Grant
-
资助金额:$1.5万
-
财政年份:2013
-
负责人:Yuriy Brun
-
依托单位:
海外基金