数据竞争的主动检测技术

基本信息
批准号:61502465
项目类别:青年科学基金项目
资助金额:20.00
负责人:蔡彦
学科分类:
依托单位:中国科学院软件研究所
批准年份:2015
结题年份:2018
起止时间:2016-01-01 - 2018-12-31
项目状态: 已结题
项目参与者:孙成龙,黄甜,卢琼
关键词:
数据竞争检测多线程程序测试主动测试并发缺陷检测
结项摘要

Software testing is helpful on improving software quality. With the wide adoption of multi-core CPUs and the development of multithreaded programs, traditional software testing techniques cannot be applied to detect concurrency bugs existing in multithreaded programs. Among all kinds of concurrent bugs, data race is a basic one. Traditional data race detection techniques cannot precisely and effectively detect data races of a multithreaded programs. Recently, dynamic detection of data races becomes much hot. However, academy community have encountered a bottleneck on dynamic detection techniques. Based on current situation at home and abroad, we will present two active testing techniques toward data race detection. The first one aims at overcoming the weaknesses of traditional dynamic techniques that can only detect data races in given executions. We will focus on active techniques to schedule a given multithreaded program, so as to expose those hidden data races that can be then detectable by traditional dynamic techniques. The second one is based on a novel detection technique to actively mine possible data races together with randomized scheduling. It probabilistically guarantees to detect all data races of a given multithreaded program. The two techniques are used at different stages of software testing and together to improve software quality.

软件测试有助于提高软件的质量。随着多核CPU的普及和多线程程序的开发,传统的软件测试方法无法用于检测存在于多线程程序中的并发缺陷。而数据竞争是最基本的一种并发缺陷。传统的数据竞争检测方法无法准确并有效地检测出一个多线程程序中的数据竞争。近年来,数据竞争的动态检测方法备受学术界的关注。但是,目前学术界对数据竞争的动态检测的研究已经遇到了一个瓶颈。基于国内外的研究现状,我们将提出两种数据竞争的主动检测技术。一种是针对传统动态检测技术只能检测给定程序运行中的数据竞争的。我们将通过主动调度给定多线程程序的运行,使得隐藏的数据竞争暴露出来,从而被传统的检测方法检测到。另一种则是基于一种新型的检测技术,结合随机调度的方法,主动去挖掘可能发生的数据竞争并检测,并在概率上保证给定程序中的每个数据竞争都会被检测到。两种检测方法将应用于软件测试的不同阶段,一起用于改进多线程软件的质量。

项目摘要

本课题主要研究了并发程序中的数据竞争的主动检测技术。多线程程序在运行时具有不确定性,其中的并发缺陷难以检测。而数据竞争则是这些并发缺陷中非常基础的一种缺陷。传统的数据竞争检测依赖于默认调度(即操作系统的调度)。本课题主要研究了用于数据竞争检测的主动调度技术。主要包括三方面的内容。.首先,本课题提出了一种新型的数据竞争定义及一种基于硬件的检测方法,可以用于并发程序在大规模测试环境中的数据竞争检测,不仅仅具有检测开销低的特点,而且有效性得以保证。.其次,本课题提出了一种有概率保证的数据竞争主动调度检测技术,主要依赖于基于并发缺陷(数据竞争)半径的概率检测方法RPro,并在死锁的检测中得到了验证,且有概率保证。之后进一步扩展到数据竞争的主动调度检测。.最后,本课题提出了针对大量测试输入下的跨运行、跨线程的数据竞争主动采样检测技术,主要根据数据竞争的特点(即每个数据竞争需要两次不同线程的内存访问),提出分析据跨线程和跨运行的采样技术,达到了逐渐降低采样开销的同时,和传统的数据竞争检测方法相比,保持了数据竞争检测有效性。.本项目发表文章12篇,其中CCF A类11篇。获得专利授权3项。项目负责人及项目团队研究生均获得了国家至院校的不同荣誉。.本项目超额完成了预期目标。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

论大数据环境对情报学发展的影响

论大数据环境对情报学发展的影响

DOI:
发表时间:2017
2

基于全模式全聚焦方法的裂纹超声成像定量检测

基于全模式全聚焦方法的裂纹超声成像定量检测

DOI:10.19650/j.cnki.cjsi.J2007019
发表时间:2021
3

基于图卷积网络的归纳式微博谣言检测新方法

基于图卷积网络的归纳式微博谣言检测新方法

DOI:10.3785/j.issn.1008-973x.2022.05.013
发表时间:2022
4

资源型地区产业结构调整对水资源利用效率影响的实证分析—来自中国10个资源型省份的经验证据

资源型地区产业结构调整对水资源利用效率影响的实证分析—来自中国10个资源型省份的经验证据

DOI:10.12202/j.0476-0301.2020285
发表时间:2021
5

多源数据驱动CNN-GRU模型的公交客流量分类预测

多源数据驱动CNN-GRU模型的公交客流量分类预测

DOI:10.19818/j.cnki.1671-1637.2021.05.022
发表时间:2021

相似国自然基金

1

软件配置错误的主动检测技术研究

批准号:61772200
批准年份:2017
负责人:郭健美
学科分类:F0203
资助金额:58.00
项目类别:面上项目
2

基于二型模糊逻辑的多核程序数据竞争与死锁检测方法研究

批准号:61202029
批准年份:2012
负责人:杨璐
学科分类:F0203
资助金额:23.00
项目类别:青年科学基金项目
3

网络数据传输中的主动防御技术研究

批准号:90104029
批准年份:2001
负责人:胡汉平
学科分类:F0205
资助金额:20.00
项目类别:重大研究计划
4

基于主动声激励和面振动探测的原位结构缺陷检测技术

批准号:61775010
批准年份:2017
负责人:肖文
学科分类:F0501
资助金额:56.00
项目类别:面上项目