-
题名基于回放机制的并发程序中的错误重现方法
- 1
-
-
作者
罗清宙
-
机构
上海交通大学软件学院
-
出处
《计算机工程与设计》
CSCD
北大核心
2010年第13期3029-3031,3035,共4页
-
基金
国家自然科学基金项目(60673120)
-
文摘
为了帮助程序员检测并发程序中的错误,提出了一种重现错并发误场景的方法。使用对Java字节码插装的方法,生成记录和回放版本的程序。在记录程序运行时,自动记录下线程间执行的逻辑循序,同时在程序发生崩溃后自动生成测试用例,这些测试用例运行在回放版本上具有确定性地重现并发错误的能力。实现了一个基于Java程序的原型工具,实验结果表明,该原型具有重现并发程序错误的能力,并且性能开销在一个可接受的范围内。
-
关键词
并发程序
错误重现
确定性回放
字节码插装
测试
-
Keywords
concurrent programs
failure reproduce
deterministic replay
byte-code instrumentation
testing
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名Java程序的对象单赋值分析
- 2
-
-
作者
李健
杨哲慜
杨珉
-
机构
复旦大学并行处理研究所
-
出处
《小型微型计算机系统》
CSCD
北大核心
2012年第7期1498-1502,共5页
-
基金
国家"核高基"重大专项项目(2009ZX01036-001-003)资助
-
文摘
数据竞争检测、确定性回放等方法被广泛应用于解决多线程程序中由内存访问顺序不确定性引发的数据竞争及死锁等问题.但是,由于上述方法需要监测程序内存访问,所以通常带来很大的运行开销.实验表明,在多线程程序中存在着大量只被赋值一次的对象,去除这类对象内存访问的监测操作不会影响上述方法的正确性,且能有效减少系统的运行开销.在此基础上,本文形式化定义了单赋值对象,并提出了一个静态对象单赋值分析算法,将这一算法的分析结果应用到多种成熟的数据竞争检测、确定性回放系统中.测试数据表明使用对象单赋值分析可以有效减少数据竞争检测、确定性回放等系统的运行开销,从而扩展系统应用场景.
-
关键词
对象单赋值
数据竞争检测
确定性回放
线程局部对象
编译
-
Keywords
assign once object
data race detection
deterministic replay
thread local object
compile
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-