CAREER: Rethinking Toolchain Design for Rust
职业:重新思考 Rust 工具链设计
基本信息
- 批准号:2145394
- 负责人:
- 金额:$ 55.02万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Continuing Grant
- 财政年份:2022
- 资助国家:美国
- 起止时间:2022-02-01 至 2027-01-31
- 项目状态:未结题
- 来源:
- 关键词:
项目摘要
As a young programing language, Rust features its safety and performance. The key innovation of Rust is to rule out memory bugs and concurrency bugs through strict safety checks during compilation, while keeping the runtime performance of its compiled programs as good as C programs. Rust's popularity is increasing significantly these years and has already been adopted to build many safety-critical software systems. Unfortunately, Rust is known to have a steep learning curve and its safety checks cannot capture all bugs. This project will address these limitations by improving Rust's programmability and strengthening its post-compilation testing. The completion of the project will advance the state of the art in Rust learning and programming and further secure the ecosystem of Rust. The project team will also use the work to design new courses on software security and programming languages and to explore novel approaches to teach new programming languages. This project aims to enhance Rust's toolchain by answering two research questions. First, Rust's safety mechanism is unique, and the related grammar and semantics are different from traditional programming languages. Thus, programmers can easily write code violating Rust's safety checks and be rejected by the Rust compiler. How can one identify and resolve the programming difficulties incurred by the safety checks? Second, Rust leverages LLVM as its backend, and thus many existing dynamic techniques invented for C/C++ can be applied to Rust programs to capture bugs missed by the safety checks. How can one improve the efficiency and effectiveness of the existing techniques when reusing them to Rust programs? Specifically, the project team will (1) identify programming challenges caused by the safety checks and resolve the challenges using novel visualization techniques, (2) improve the effectiveness of existing testing input generation techniques, (3) accelerate existing dynamic bug-detection and failure-diagnosis techniques, and (4) build automated bug-fixing techniques for bugs detected by the safety checks and dynamic bug-detection techniques.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.
作为一种年轻的编程语言,Rust具有其安全性和性能。Rust的关键创新在于在编译过程中通过严格的安全检查来排除内存bug和并发bug,同时保持其编译程序的运行时性能与C程序一样好。Rust近年来越来越受欢迎,已经被用于构建许多安全关键软件系统。不幸的是,Rust有一个陡峭的学习曲线,它的安全检查无法捕获所有的bug。该项目将通过提高Rust的可编程性和加强其编译后测试来解决这些限制。该项目的完成将推动Rust学习和编程的最新发展,并进一步保护Rust的生态系统。该项目团队还将利用这项工作设计有关软件安全和编程语言的新课程,并探索教授新编程语言的新方法。 该项目旨在通过回答两个研究问题来增强Rust的工具链。首先,Rust的安全机制是独特的,相关的语法和语义与传统的编程语言不同。因此,程序员可以很容易地编写违反Rust安全检查的代码,并被Rust编译器拒绝。如何识别和解决因安全检查而产生的编程困难?其次,Rust利用LLVM作为其后端,因此许多为C/C++发明的现有动态技术可以应用于Rust程序,以捕获安全检查遗漏的错误。如何在Rust程序中重用现有技术时提高它们的效率和有效性? 具体而言,项目团队将(1)识别由安全检查引起的编程挑战,并使用新的可视化技术解决这些挑战,(2)提高现有测试输入生成技术的有效性,(3)加速现有的动态错误检测和故障诊断技术,以及(4)建立自动化的错误修复技术,用于安全检查和动态错误检测所检测到的错误。该奖项反映了NSF的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
项目成果
期刊论文数量(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 }}
Linhai Song其他文献
Understanding, Detecting, and Diagnosing Real-World Performance Bugs
- DOI:
- 发表时间:
2015 - 期刊:
- 影响因子:0
- 作者:
Linhai Song - 通讯作者:
Linhai Song
Linhai Song的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Linhai Song', 18)}}的其他基金
SaTC: CORE: Small: Collaborative: Understanding and Detecting Memory Bugs in Rust
SaTC:核心:小:协作:理解和检测 Rust 中的内存错误
- 批准号:
1955965 - 财政年份:2020
- 资助金额:
$ 55.02万 - 项目类别:
Standard Grant
相似海外基金
PROTSENS Rethinking Alternative PROTein Extraction: Decoding SENsory-Protein Extraction Relationships
PROTSENS 重新思考替代性蛋白质提取:解码感觉-蛋白质提取关系
- 批准号:
EP/Z000785/1 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Fellowship
A Brave New World for Japanese Shakespeare Adaptations: Rethinking Shakespeare Studies through Adaptations
日本莎士比亚改编的美丽新世界:通过改编重新思考莎士比亚研究
- 批准号:
23K21920 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Grant-in-Aid for Scientific Research (B)
Care and Repair: Rethinking Contemporary Curation for Conditions of Crisis
护理与修复:重新思考危机条件下的当代策展
- 批准号:
DP240102206 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Discovery Projects
Caring Communities 1800-present: Rethinking Children's Social Care
关爱社区 1800 年至今:重新思考儿童的社会关怀
- 批准号:
MR/X034968/1 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Fellowship
High-rise landscapes: The afterlives of tower block 'failure' and rethinking urban futures
高层景观:塔楼“失败”的后遗症和重新思考城市未来
- 批准号:
MR/Y003586/1 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Fellowship
CAREER: Rethinking Spiking Neural Networks from a Dynamical System Perspective
职业:从动态系统的角度重新思考尖峰神经网络
- 批准号:
2337646 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Continuing Grant
CAREER: A multimethod approach to rethinking the dynamics of inhibitory control under stress
职业生涯:重新思考压力下抑制控制动态的多种方法
- 批准号:
2338789 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Continuing Grant
Rethinking Mao’s China from a Global Economic Perspective: A History
从全球经济的角度重新思考毛泽东时代的中国:一段历史
- 批准号:
DE240100091 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Discovery Early Career Researcher Award
CAREER: Rethinking System Stack for the Load-Store I/O Era
职业:重新思考加载-存储 I/O 时代的系统堆栈
- 批准号:
2339901 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Continuing Grant
Rethinking Antarctic Sea Level Projections (RASP)
重新思考南极海平面预测 (RASP)
- 批准号:
NE/Y001451/1 - 财政年份:2024
- 资助金额:
$ 55.02万 - 项目类别:
Research Grant














{{item.name}}会员




