Semantic Foundations for Real-World Systems
Semantic Foundations for Real-World Systems
批准号:
EP/H005633/1
负责人:
Peter Sewell
金额:
$194.16万
依托单位:
依托单位国家:
英国
项目类别:
Fellowship
财政年份:
2010
资助国家:
英国
项目状态:
已结题
起止时间:
2010 至 --
中文摘要
计算机系统已经普及了很多年,但是尽管如此,尽管投入了巨大的资源来构建它们,它们仍然通常是不安全的,容易发生故障,并且难以使用。与其他工程行业的产品形成鲜明对比的是,重大故障是司空见惯的,处理这些故障以及日常较小的缺陷需要付出巨大的经济和社会成本。核心的技术困难是系统的复杂性:行为的范围、大规模和旧设计选择的遗留问题结合在一起,使得很难很好地理解这些系统,从而很好地设计它们。我的主要研究目标是开发足以用于坚实系统构建的智能工具,类似于更传统的工程学科的应用数学。这必须以实际系统为基础——不可能在理论上孤立地完成。我的方法,正如Track Record中所记录的那样,是关注用于构建系统的抽象层次中的关键衔接点:编程语言、处理器指令集、网络协议等等。在快速变化的环境中,这些是相对稳定的点,对所有系统开发都是至关重要的,并且足够小,一个适度的团队可以处理它们。每一种都需要不同的研究:新的语言结构、新的规范、推理和测试技术等等。在这篇论文中,我将继续研究这种方法,重点关注在现代多处理器复杂的宽松内存模型之上构建计算机系统的问题。多处理器系统现在是标准的(因为顺序处理器的进一步加速最近变得不切实际),但是编程它们是非常具有挑战性的。一个关键的困难是,这些系统不提供顺序一致的记忆,其中事件似乎以单一的全局时间顺序发生,而是允许微妙的重新排序,使得直观的全局时间推理不可靠。以前在计算机科学领域的许多工作,包括编程语言、程序逻辑、并发理论、模型检查等,都做出了现在不现实的顺序一致性假设,现在必须在这个更复杂的环境中重新审视它。我将开发考虑这种重新排序的真实世界多处理器行为的精确数学模型,并在此基础上开发语义和推理技术。使用这些工具,我将考虑高性能并发算法的验证(如在操作系统和管理程序内核中使用的)、高级语言的设计以及这些语言在真实机器上的验证编译。这将使未来的应用能够在高置信度和高性能的基板上开发。它还应该对计算机科学研究产生更广泛的有益影响,将数学上有充分基础的理论和系统构建实践结合起来。
英文摘要
Computer systems have been pervasive for many years, but despite this, and despite the huge resources devoted to their construction, they are still typically insecure, prone to failure, and hard to use. Major failures are commonplace, in sharp contrast with the products of other engineering industries, and dealing with them, and with the day-to-day lesser flaws, has huge economic and social costs. The core technical difficulty is system complexity: the range of behavior, the large scale, and the legacy of old design choices combine to make it hard to understand these systems well enough to engineer them well. My main research goal is to develop intellectual tools that suffice for solid system-building, analogous to the applied mathematics of more traditional engineering disciplines. This must be grounded on real systems - it cannot be done in theoretical isolation. My approach, as documented in the Track Record, is to focus on the key articulation points in the hierarchy of abstractions used to build systems: programming languages, processor instruction sets, network protocols, and so forth. These are relatively stable points in a rapidly changing environment, are critical to all system development, and are small enough that a modest team can address them. Each demands different research: new language constructs, new specification, reasoning, and testing techniques, and so forth. In this Fellowship I will pursue this approach, focussing on the problems in building computer systems above the intricate relaxed memory models of modern multiprocessors. Multiprocessor systems are now the norm (as further speed-up of sequential processors has recently become impractical), but programming them is very challenging. A key difficulty is that these systems do not provide a sequentially consistent memory, in which events appear to occur in a single global time order, but instead permit subtle reorderings, rendering intuitive global-time reasoning unsound. Much previous work across a range of Computer Science, in programming languages, program logics, concurrency theory, model checking, and so on, makes the now-unrealistic assumption of sequential consistency, and it must now be revisited in this more complex setting.I will develop precise mathematical models of the behavior of real-world multiprocessors that take such reorderings into account, and develop semantics and reasoning techniques above them. Using those, I will consider the verification of high-performance concurrent algorithms (as used in operating system and hypervisor kernels), the design of higher-level languages, and verified compilation of those languages to real machines. This will enable future applications to be developed above a high-confidence and high-performance substrate. It should also have a broader beneficial effect on research in Computer Science, drawing together mathematically well-founded theory and systems-building practice.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
Programming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015, Proceedings
编程语言和系统 - 第 24 届欧洲编程研讨会,ESOP 2015,作为欧洲软件理论与实践联合会议的一部分举行,ETAPS 2015,英国伦敦,2015 年 4 月 11-18 日,会议记录
DOI:
10.1007/978-3-662-46669-8_12
发表时间:
2015
期刊:
影响因子:
--
作者:
[Batty M]
通讯作者:
Batty M
Fences in weak memory models (extended version)
弱内存模型中的栅栏(扩展版)
DOI:
10.1007/s10703-011-0135-z
发表时间:
2012
期刊:
Formal Methods in System Design
影响因子:
0.8
作者:
[Alglave J]
通讯作者:
Alglave J
Library abstraction for C/C++ concurrency
C/C 并发的库抽象
DOI:
10.1145/2429069.2429099
发表时间:
2013
期刊:
影响因子:
--
作者:
[Batty M]
通讯作者:
Batty M
DOI:
10.1007/978-3-642-28756-5_47
发表时间:
2012
期刊:
影响因子:
--
作者:
[Basler G]
通讯作者:
Basler G
Clarifying and compiling C/C++ concurrency
澄清和编译C/C并发
DOI:
10.1145/2103656.2103717
发表时间:
2012
期刊:
影响因子:
--
作者:
[Batty M]
通讯作者:
Batty M
共 7 条
SAFER - Secure Foundations: Verified Systems Software Above Full-Scale Integrated Semantics
-
批准号:EP/Y035976/1
-
项目类别:Research Grant
-
资助金额:$269.73万
-
财政年份:2024
-
负责人:Peter Sewell
-
依托单位:
REMS: Rigorous Engineering for Mainstream Systems
-
批准号:EP/K008528/1
-
项目类别:Research Grant
-
资助金额:$710.45万
-
财政年份:2013
-
负责人:Peter Sewell
-
依托单位:
Reasoning with Relaxed Memory Models
-
批准号:EP/F036345/1
-
项目类别:Research Grant
-
资助金额:$103.69万
-
财政年份:2008
-
负责人:Peter Sewell
-
依托单位:
海外基金