Type Systems and Static Analyses for Programs with Mutable Data
具有可变数据的程序的类型系统和静态分析
基本信息
- 批准号:RGPIN-2020-04021
- 负责人:
- 金额:$ 3.5万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2021
- 资助国家:加拿大
- 起止时间:2021-01-01 至 2022-12-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
People write programs to cause a computer to perform some action or compute some result. The program specifies the steps to be executed. Predicting the outcome of those steps, how the program will behave when it runs, is important but often difficult. When a program behaves differently than intended, it creates a software failure that can cause huge monetary losses or even physical harm. The goal of this research is to strengthen the correspondence between programs and their behaviour in two complementary ways: first, by enhancing programming languages to express not only the steps to be executed, but also the intended outcomes, precisely enough that a computer can verify that the steps achieve the outcomes; second, by improving techniques for predicting possible program behaviours to take advantage of the specified intended outcomes for more precise reasoning. The result will be better ways for programmers to communicate their intent and better tools for checking that programs achieve that intent. Existing research has produced powerful techniques for describing the behaviour of programs that are purely functional, in that they never overwrite existing data and only generate new data. But many real programs do modify existing data, so the most commonly used programming languages are designed around data updates. I will work on hybrid languages that enable a functional style when possible, but allow updates when needed. I will draw on some powerful techniques from purely functional languages, but I will have to extend them to still work when data updates do occur. The proposed research will make techniques that currently only apply to research languages available for the popular programming languages used to write most real programs. This research will impact how people think and communicate about how computer programs update data. The impact goes beyond communicating intent to the computer. People who write programs have a mental understanding of how those programs should work. By providing a language to record that understanding in written form, this research will enable people to more precisely communicate this understanding to each other. By making this understanding explicit and precise, the proposed research will also help programmers think more clearly about the program and more easily notice conceptual errors. The final impact will be more reliable software. The proposed research involves both theory and practice. On the theoretical side, we must ensure that the descriptions of program behaviour have precise and unambiguous meanings and that the verification techniques are themselves correct. On the practical side, we must implement the changes in programming tools and study how well they apply to existing programs. I will train graduate students in both aspects. They will become experts in programming languages and programming tools, capable of leading world-class research and producing new software development tools.
人们编写程序来使计算机执行某些操作或计算某些结果。程序指定要执行的步骤。预测这些步骤的结果,即程序在运行时的行为,是重要的,但往往是困难的。当一个程序的行为与预期的不同时,它会造成软件故障,可能导致巨大的金钱损失甚至身体伤害。本研究的目标是以两种互补的方式加强程序与其行为之间的对应关系:首先,通过增强编程语言来表达不仅要执行的步骤,而且要表达预期的结果,精确到计算机可以验证这些步骤是否实现了结果;第二,通过改进预测可能的程序行为的技术,以利用指定的预期结果进行更精确的推理。其结果将是程序员更好地传达他们的意图,以及更好的工具来检查程序是否实现了意图。现有的研究已经产生了强大的技术来描述纯粹功能性程序的行为,因为它们从不覆盖现有数据,只生成新数据。但许多真实的程序确实会修改现有数据,因此最常用的编程语言都是围绕数据更新设计的。我将致力于混合语言,在可能的情况下启用函数式风格,但在需要时允许更新。我将从纯函数式语言中借鉴一些强大的技术,但我必须扩展它们,以便在数据更新发生时仍能工作。拟议的研究将使目前仅适用于研究语言的技术可用于编写大多数真实的程序的流行编程语言。这项研究将影响人们如何思考和交流计算机程序如何更新数据。其影响超出了向计算机传达意图。编写程序的人在心理上理解这些程序应该如何工作。通过提供一种以书面形式记录这种理解的语言,这项研究将使人们能够更准确地相互交流这种理解。通过使这种理解明确和精确,所提出的研究也将帮助程序员更清楚地思考程序,更容易注意到概念错误。最终的影响将是更可靠的软件。本研究涉及理论和实践两个方面。在理论方面,我们必须确保程序行为的描述具有精确和明确的含义,并且验证技术本身是正确的。在实践方面,我们必须实现编程工具的变化,并研究它们如何适用于现有程序。我将在这两方面培养研究生。他们将成为编程语言和编程工具的专家,能够领导世界一流的研究和生产新的软件开发工具。
项目成果
期刊论文数量(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 }}
Lhotak, Ondrej其他文献
Static Analysis of Event-Driven Node.js JavaScript Applications
- DOI:
10.1145/2858965.2814272 - 发表时间:
2015-10-01 - 期刊:
- 影响因子:0
- 作者:
Madsen, Magnus;Tip, Frank;Lhotak, Ondrej - 通讯作者:
Lhotak, Ondrej
A Semantics for the Essence of React
React 本质的语义
- DOI:
- 发表时间:
2020 - 期刊:
- 影响因子:0
- 作者:
Madsen, Magnus;Lhotak, Ondrej;Tip, Frank - 通讯作者:
Tip, Frank
A Study of Call Graph Construction for JVM-Hosted Languages
JVM 托管语言的调用图构建研究
- DOI:
- 发表时间:
2019 - 期刊:
- 影响因子:7.4
- 作者:
Ali, Karim;Lai, Xiaoni;Luo, Zhaoyi;Lhotak, Ondrej;Dolby, Julian;Tip, Frank - 通讯作者:
Tip, Frank
Lhotak, Ondrej的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Lhotak, Ondrej', 18)}}的其他基金
Type Systems and Static Analyses for Programs with Mutable Data
具有可变数据的程序的类型系统和静态分析
- 批准号:
RGPIN-2020-04021 - 财政年份:2022
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Type Systems and Static Analyses for Programs with Mutable Data
具有可变数据的程序的类型系统和静态分析
- 批准号:
RGPIN-2020-04021 - 财政年份:2020
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
RGPIN-2014-05645 - 财政年份:2019
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
RGPIN-2014-05645 - 财政年份:2018
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
RGPIN-2014-05645 - 财政年份:2017
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
RGPIN-2014-05645 - 财政年份:2016
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
462310-2014 - 财政年份:2016
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Accelerator Supplements
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
RGPIN-2014-05645 - 财政年份:2015
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
462310-2014 - 财政年份:2015
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Accelerator Supplements
Interprocedural program analysis for modern object-oriented languages
现代面向对象语言的过程间程序分析
- 批准号:
462310-2014 - 财政年份:2014
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Accelerator Supplements
相似国自然基金
Graphon mean field games with partial observation and application to failure detection in distributed systems
- 批准号:
- 批准年份:2025
- 资助金额:0.0 万元
- 项目类别:省市级项目
基于“阳化气、阴成形”理论探讨龟鹿二仙胶调控 HIF-1α/Systems Xc-通路抑制铁死亡治疗少弱精子症的作用机理
- 批准号:
- 批准年份:2024
- 资助金额:15.0 万元
- 项目类别:省市级项目
EstimatingLarge Demand Systems with MachineLearning Techniques
- 批准号:
- 批准年份:2024
- 资助金额:万元
- 项目类别:外国学者研究基金
Understanding complicated gravitational physics by simple two-shell systems
- 批准号:12005059
- 批准年份:2020
- 资助金额:24.0 万元
- 项目类别:青年科学基金项目
Simulation and certification of the ground state of many-body systems on quantum simulators
- 批准号:
- 批准年份:2020
- 资助金额:40 万元
- 项目类别:
全基因组系统作图(systems mapping)研究三种细菌种间互作遗传机制
- 批准号:31971398
- 批准年份:2019
- 资助金额:58.0 万元
- 项目类别:面上项目
The formation and evolution of planetary systems in dense star clusters
- 批准号:11043007
- 批准年份:2010
- 资助金额:10.0 万元
- 项目类别:专项基金项目
相似海外基金
Type Systems and Static Analyses for Programs with Mutable Data
具有可变数据的程序的类型系统和静态分析
- 批准号:
RGPIN-2020-04021 - 财政年份:2022
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
Collaborative Research: SHF: Medium: Precise Static Analysis of Event-based Systems
合作研究:SHF:中:基于事件的系统的精确静态分析
- 批准号:
2106383 - 财政年份:2021
- 资助金额:
$ 3.5万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Precise Static Analysis of Event-based Systems
合作研究:SHF:中:基于事件的系统的精确静态分析
- 批准号:
2106710 - 财政年份:2021
- 资助金额:
$ 3.5万 - 项目类别:
Standard Grant
Type Systems and Static Analyses for Programs with Mutable Data
具有可变数据的程序的类型系统和静态分析
- 批准号:
RGPIN-2020-04021 - 财政年份:2020
- 资助金额:
$ 3.5万 - 项目类别:
Discovery Grants Program - Individual
A Study on a Unified Evaluation Method for Static and Dynamic Network Systems Considering Virtual Nodes
考虑虚拟节点的静态和动态网络系统统一评估方法研究
- 批准号:
20K04964 - 财政年份:2020
- 资助金额:
$ 3.5万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Thermal behaviour of Silicon Solar cells in low-concentration quasi-static PV systems and impact of high temperature on their photoconversion performance
低聚光准静态光伏系统中硅太阳能电池的热行为及高温对其光转换性能的影响
- 批准号:
539210-2019 - 财政年份:2019
- 资助金额:
$ 3.5万 - 项目类别:
Engage Grants Program
NSF/MCB-BSF Evolution of gene expression: from static patterns to dynamic systems
NSF/MCB-BSF 基因表达的演变:从静态模式到动态系统
- 批准号:
1929737 - 财政年份:2019
- 资助金额:
$ 3.5万 - 项目类别:
Standard Grant
CSR: Medium: Systems Support for Scalable, Easy-to-Implement, and Multilingual Static Analyses of Modern Software
CSR:中:对现代软件的可扩展、易于实施和多语言静态分析的系统支持
- 批准号:
1763172 - 财政年份:2018
- 资助金额:
$ 3.5万 - 项目类别:
Continuing Grant
SHF: Small: Collaborative Research: Static Analysis Infrastructure for Variability-Aware Bug Detection and Translation of Highly-Configurable Software Systems
SHF:小型:协作研究:用于高度可配置软件系统的可变性缺陷检测和转换的静态分析基础设施
- 批准号:
1816614 - 财政年份:2018
- 资助金额:
$ 3.5万 - 项目类别:
Standard Grant
SHF: Small: Collaborative Research: Static Analysis Infrastructure for Variability-Aware Bug Detection and Translation of Highly-Configurable Software Systems
SHF:小型:协作研究:用于高度可配置软件系统的可变性缺陷检测和转换的静态分析基础设施
- 批准号:
1840934 - 财政年份:2018
- 资助金额:
$ 3.5万 - 项目类别:
Standard Grant