Trustworthy programming for multiple instruction sets
Trustworthy programming for multiple instruction sets
批准号:
EP/G007411/1
负责人:
Mike Gordon
金额:
$46.19万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2008
资助国家:
英国
项目状态:
已结题
起止时间:
2008 至 --
中文摘要
点击翻译按钮获取中文摘要
英文摘要
The rapidly growing use of microprocessors in devices containing sensitive data (e.g. phones) and safety-critical systems (e.g. automobiles, avionics) is increasing the value of trustworthy software. Assembly code is particularly error-prone as it varies from processor to processor and even between different versions of processors in the same family. Some software must be implemented directly in assembler, such as run-time system components (e.g. storage management), performance-critical operations (e.g. arithmetic) and parts of operating systems (e.g. interrupt controllers). One cannot avoid having to create at least some coderunning on bare metal .Our goal is to develop a new programming methodology for creating trustworthy assembly code software. The project has two parts: 1. bottom-up creation of certified code components using proof-producing decompilation of assembly code into mathematical function definitions; 2. top-down compilation of certified implementations from mathematical function definitionsThe certification aspects are novel: they consist of automatically proving a new kind of processor-specific formal specification.Unlike other recent work on certified assembly code, we aim to go beyond establishing weak safety properties and instead handle functional correctness, termination and resource usage. We aim to generate deep proofs using very accurate ISA models. Our goals are complementary to the relatively shallow analyses based on the simplified semantics that underlie current industrial-scale bug-finding formal software verification tools.Our methods are not tied to a particular instruction set. Initially we will work with two instruction sets: ARM and a subset of IA-32, both of which are very widely used. We already have access to formal specifications of these.We aim to conduct diverse and realistic case studies, including multi-word arithmetic as used in cryptography and storage allocation and management routines used for runtime support of compiled code. Towards the end of the project we hope to verify a complete interpreter for a simple language based on pure LISP supporting high precision arithmetic -- a first step towards creating verified implementations of functional languages on bare metal.A long-term application, probably beyond the scope of this project, is creating certified run-time code for real domain-specific functional languages. A motivating example is the Haskell-based Cryptol language, which is used for specifying cryptographic algorithms.We plan to recruit a PhD student to explore the feasibility of creating verified operating systems components such as drivers, networking software, software-hardware interfaces, boot loaders and virtualisation support. This will require modelling parts of the hardware environment. Verifying a complete operating system is likely to be too much for a single PhD student, but we intend to collaborate with students at the University of Utah.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
DOI:
10.1007/s11222-022-10078-2
发表时间:
2022
期刊:
Statistics and computing
影响因子:
2.2
作者:
[Hainy M, Price DJ, Restif O, Drovandi C]
通讯作者:
Drovandi C
Proof-producing synthesis of ML from higher-order logic
从高阶逻辑对 ML 进行证明综合
DOI:
10.1145/2364527.2364545
发表时间:
2012
期刊:
影响因子:
--
作者:
[Myreen M]
通讯作者:
Myreen M
DOI:
10.1145/1481839.1481842
发表时间:
2009-01
期刊:
影响因子:
--
作者:
[J. Alglave;A. Fox;Samin S. Ishtiaq;Magnus O. Myreen;Susmit Sarkar;Peter Sewell;Francesco Zappa Nardelli]
通讯作者:
J. Alglave;A. Fox;Samin S. Ishtiaq;Magnus O. Myreen;Susmit Sarkar;Peter Sewell;Francesco Zappa Nardelli
Interactive Theorem Proving
交互式定理证明
DOI:
10.1007/978-3-319-43144-4_6
发表时间:
2016
期刊:
影响因子:
--
作者:
[Bauereiß T]
通讯作者:
Bauereiß T
Theorem Proving in Higher Order Logics
高阶逻辑中的定理证明
DOI:
10.1007/978-3-540-71067-7_8
发表时间:
2008
期刊:
影响因子:
--
作者:
[Aehlig K]
通讯作者:
Aehlig K
jStar: making java verification practical
-
批准号:EP/H010815/1
-
项目类别:Research Grant
-
资助金额:$34.68万
-
财政年份:2010
-
负责人:Mike Gordon
-
依托单位:
Expressive Multi-theory Reasoning for Interactive Verification
-
批准号:EP/F067909/1
-
项目类别:Research Grant
-
资助金额:$31.49万
-
财政年份:2008
-
负责人:Mike Gordon
-
依托单位:
国内基金
海外基金
睾酮在产前应激程序化脑内CRH信号传导通路及焦虑样行为中的作用机制
-
批准号:31100793
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2011
-
负责人:蓝妮
-
依托单位:
枢纽港选址及相关问题的算法设计
-
批准号:71001062
-
项目类别:青年科学基金项目
-
资助金额:17.6万元
-
批准年份:2010
-
负责人:葛冬冬
-
依托单位:
微生物发酵过程的自组织建模与优化控制
-
批准号:60704036
-
项目类别:青年科学基金项目
-
资助金额:21.0万元
-
批准年份:2007
-
负责人:高学金
-
依托单位: