课题基金 / 基金详情

Verification of Shared-Memory Concurrent Software

Verification of Shared-Memory Concurrent Software
共享内存并发软件的验证
批准号:
EP/H017585/1
负责人:
Daniel Kroening
金额:
$54.6万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2010
资助国家:
英国
项目状态:
已结题
起止时间:
2010 至 --

项目摘要

项目成果

Daniel Kroening的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
Software products are becoming increasingly complex. One of the chiefreasons for this is the demand for concurrent software thatefficiently exploits multiple execution cores. Such systems, such asIntel's Core Duo, have become ubiquitous over the last two or threeyears. Unfortunately, developing reliable concurrent programs is adifficult and specialised task, requiring highly skilled engineers,most of whose efforts are spent on the testing and validationphases. As a result, there is a strong economic andstrategic incentive for software houses to automate parts of theverification process.Random simulation and testing, while automated, has severelimitations, particularly in the case of concurrent software, in whichthe plethora of possible thread interleavings often conspires toconceal design flaws. Formal verification, on the other hand, can alsobe automated, and tools that implement it check a concurrent programfor all its possible behaviours.Numerous tools to hunt down functional flaws in hardware designs have beenavailable commercially for a number of years. The use of such tools iswidespread, and there is a broad range of vendors. In contrast, the marketfor formal tools that address the need for quality software---and even moreso for concurrent software---is still in its infancy.The proposed research project focuses on shared-variableconcurrency, i.e., eliminating programming errors related tomulti-threaded programs in which the threads communicate via a sharedportion of the memory. This programming paradigm is frequently used,and is the predominant form of concurrency on commodity computingsystems. Furthermore, errors relating to concurrency often depend onthe process schedule, which is difficult to control. As a consequence,such errors are difficult to test for and to reproduce, yet can havewide-ranging and potentially devastating consequences.We propose to investigate (i) verification by means of automatedsummarisation of threads, (ii) identification of transactions,enabling partial-order reductions, and (iii) Craiginterpolation to derive thread invariants. Our primary target arelow-level applications written in C/C++, and we will supportboth the POSIX thread API and the WIN32 thread API to maximizethe applicability of our research. We will evaluate the benefit of ourmethods and tools in collaboration with industrial users.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
DOI: 10.1007/s10703-013-0203-7
发表时间: 2014-10-01
期刊: FORMAL METHODS IN SYSTEM DESIGN
影响因子: 0.8
作者: [Brain, Martin, D'Silva, Vijay, Kroening, Daniel]
通讯作者: Kroening, Daniel
DOI: 10.1145/3121136
发表时间: 2018-01-01
期刊: ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
影响因子: 1.3
作者: [Chen, Hong-Yi, David, Cristina, Wachter, Bjoern]
通讯作者: Wachter, Bjoern
Tools and Algorithms for the Construction and Analysis of Systems
用于系统构建和分析的工具和算法
DOI: 10.1007/978-3-642-28756-5_47
发表时间: 2012
期刊:
影响因子: --
作者: [Basler G]
通讯作者: Basler G
Abstract conflict driven learning
抽象冲突驱动学习
DOI: 10.1145/2429069.2429087
发表时间: 2013
期刊:
影响因子: --
作者: [D'Silva V]
通讯作者: D'Silva V
SCorCH : Secure Code for Capability Hardware
  • 批准号:
    EP/V000225/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $39.87万
  • 财政年份:
    2020
  • 负责人:
    Daniel Kroening
  • 依托单位:
New Foundational Structures for Engineering Verified multi-UAVs
  • 批准号:
    EP/J012564/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $81.13万
  • 财政年份:
    2012
  • 负责人:
    Daniel Kroening
  • 依托单位:
Efficient Verification of Software with Replicated Components
  • 批准号:
    EP/G026254/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $54.27万
  • 财政年份:
    2009
  • 负责人:
    Daniel Kroening
  • 依托单位:
海外基金