Verification of Concurrent and Higher-Order Recursive Programs
Verification of Concurrent and Higher-Order Recursive Programs
批准号:
EP/K009907/1
负责人:
Matthew Hague
金额:
$59.85万
依托单位国家:
英国
项目类别:
Fellowship
财政年份:
2013
资助国家:
英国
项目状态:
已结题
起止时间:
2013 至 --
中文摘要
从电视机到汽车制动系统,全球社会越来越依赖软件控制的设备。软件包含错误被认为是一个“生活事实”,这可能会带来巨大的代价,比如火星极地登陆器坠毁或1992年伦敦救护车调度服务的失败。在2008年的一项研究中,美国国家标准与技术研究院(NIST)估计,有缺陷的软件每年给美国经济造成595亿美元的损失。传统的软件测试是通过在尽可能多的困难情况下运行它。然而,在所有环境下运行程序是不可行的。因此,测试依赖于测试工程师的洞察力,他们必须仔细选择可能暴露缺陷的环境。现代计算机通过允许许多计算机程序并行运行来提高性能。预测两个程序之间的相互作用是一项极其困难的任务,而且错误通常很难复制和诊断。此外,硬件的效率通常通过允许软件开发人员意想不到的行为而提高。另一种确保正确性的方法是模型检查。模型检查尝试使用全自动技术来证明程序在所有条件下的行为都符合预期。这一领域最近蓬勃发展,Clarke、Emerson和Sifakis获得了2007年图灵奖,他们将这项技术从理论追求转化为工业应用产品。模型检查被微软(用于改进其Windows操作系统)和Altran-Praxis(用于安全关键软件)等公司所接受。然而,模型检查者必须依靠简化的计算机程序模型来保证结果,这导致许多正确的程序被标记为错误的。这是一种设计选择,它遵循的论点是,发出错误警报比让错误通过要好。然而,大量的假警报会破坏可靠性和可用性——如果大多数实际上根本不是错误,软件开发人员就不会仔细研究报告的错误。在大规模部署此类工具时,这是一个真正的问题。该协会的目标是提高验证工具的精确度——减少假警报的数量——同时保持当前技术的效率,从而产生更可靠和可用的模型检查工具。在这次合作中,我们将构建一个最先进的验证框架,统一几个原型工具,并需要新的模型检查技术,并允许快速试验新的想法。该框架将在实际软件上进行测试,以确保其可操作性和可靠性。它将准确地建模困难的编程范例,如现代并发行为和“高阶”结构(越来越多地被最先进的编程语言所接受)。这项研究将在伦敦帝国理工学院进行,并将汇集牛津大学、巴黎东大学和巴黎狄德罗大学的研究人员,以及基于全球几所大学和公司的CARP项目,以及剑桥微软研究院的研究人员。
英文摘要
Global society increasingly relies on devices controlled by software, from TVsets to vehicle braking systems. It is considered a "fact-of-life" thatsoftware contains errors, which can come at great cost, such as the Mars PolarLander crash or the 1992 failure of the London Ambulance Dispatch Service. In a2008 study, the US NIST agency estimates faulty software costs the US economy$59.5bn annually.Classically software is tested by running it under as many difficult situationsas possible. However, it is not feasible to run a program under allenvironments. Hence, testing relies on the perspicacity of the testing engineerwho must carefully choose environments that may expose flaws. Modern computers increase performance by allowing many computer programs to runconcurrently. Anticipating the interactions of even as a little as two programsis an extremely difficult task, and errors are often difficult to replicate anddiagnose. Furthermore, the efficiency of hardware is often increased bypermitting behaviours a software developer would not expect. An alternative approach to ensuring correctness is model-checking.Model-checking attempts to use fully automatic techniques to prove that aprogram behaves as expected under all conditions. This area has flourishedrecently, including a 2007 Turing Award for Clarke, Emerson and Sifakis, whotransformed the technique from a theoretical pursuit into an industriallyapplicable product. Model-checking is embraced by companies like Microsoft (toimprove its Windows OS) and Altran-Praxis (for safety-critical software). However, model-checkers must rely on simplified models of computer programs toguarantee results, leading to many correct programs being labelled erroneous.This is a design choice, following the argument that it it better to raise afalse alarm, than let an error pass by. However, a large number of false alarms damage reliability and usability --- asoftware developer will not study reported errors carefully if the majority are,in fact, not errors at all. This is a real problem in the large scaledeployment of such tools. The goal of this fellowship is to increase theprecision of verification tools --- reducing the number of false alarms ---while retaining the efficiency of current techniques, resulting inmodel-checking tools that are more reliable and usable. During this fellowship, we will construct a state-of-the-art verificationframework, unifying several prototypical tools and requiring novelmodel-checking techniques, and permitting new ideas to be experimented withquickly. The framework will be tested on real-world software to ensure itsusability and reliability. It will accurately model difficult programmingparadigms, such as modern concurrent behaviours and "higher-order" constructs(increasingly embraced by state-of-the-art programming languages).The research will be carried out at Imperial College London, and will bringtogether researchers at Oxford University, Universite Paris-Est, and UniversiteParis-Diderot as well as the CARP project, based across several universities andcompanies world-wide, and researchers at Microsoft Research, Cambridge.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
C-SHORe: A Collapsible Approach to Higher-Order Verification
C-SHORe:一种可折叠的高阶验证方法
DOI:
--
发表时间:
2013
期刊:
International Conference on Functional Programming (ICFP)
影响因子:
--
作者:
[C. Broadbent, A. Carayol, M. Hague, O. Serre]
通讯作者:
O. Serre
Collapsible Pushdown Parity Games
可折叠下推平价游戏
DOI:
10.1145/3457214
发表时间:
2021
期刊:
ACM Transactions on Computational Logic
影响因子:
0.5
作者:
[Broadbent C]
通讯作者:
Broadbent C
Decidable models of integer-manipulating programs with recursive parallelism
具有递归并行性的整数操作程序的可判定模型
DOI:
10.1016/j.tcs.2018.04.050
发表时间:
2018
期刊:
Theoretical Computer Science
影响因子:
1.1
作者:
[Hague M]
通讯作者:
Hague M
DOI:
10.1145/3158091
发表时间:
2017-11
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Taolue Chen;Yan Chen;M. Hague;Anthony W. Lin;Zhilin Wu]
通讯作者:
Taolue Chen;Yan Chen;M. Hague;Anthony W. Lin;Zhilin Wu
Reachability Problems - 8th International Workshop, RP 2014, Oxford, UK, September 22-24, 2014. Proceedings
可达性问题 - 第 8 届国际研讨会,RP 2014,英国牛津,2014 年 9 月 22-24 日。会议记录
DOI:
10.1007/978-3-319-11439-2_5
发表时间:
2014
期刊:
影响因子:
--
作者:
[Carayol A]
通讯作者:
Carayol A
共 8 条
String Constraint Solving with Real-World Regular Expressions
-
批准号:EP/T00021X/1
-
项目类别:Research Grant
-
资助金额:$50.15万
-
财政年份:2020
-
负责人:Matthew Hague
-
依托单位:
国内基金
海外基金
VLSI并发式(CONCURRENT)阵列声纳信号处理系统
-
批准号:68880207
-
项目类别:专项基金项目
-
资助金额:3.0万元
-
批准年份:1988
-
负责人:马远良
-
依托单位: