标签:
论文来源Many-Core Compiler Fuzzing
学习关键词:
1)OpenCL 介绍
OpenCL C 是C语言的一个变种。 OpenCL是多核并行编程的工业标准。支持CPU 和GPU ,FPEG等
OpenCL C编写的kernel 在程序运行时动态编译。可以实现与设备无关的代码,便于程序代码的移植。
2)论文核心
测试OpenCL C compiler的bug.
3) 论文主要工作
1. EMI testing ( equivalence modulo inputs)
2. Random different testing .CLSmith
3. Injection of dead-by-construction code to enable EMI testing in the context of OpenCL
4. Testing campaign (…process .etc) 不是核心
4)其他关键词
1.OpenCL configuration denoted by (OpenCL-capable device, OpenCL device driver) pair.
(note: the OpenCL C compiler for a given device is embeded in the driver software for the device)
2.Many-Core random differential testing
CSmith .
CLSmith six mode: BASIC . VECTOR . BARRIER. ATOMIC_SECTION. ATOMIC_REDUCTION. ALL
3.Many-core EMI testing
fuzzing over statements in a program that are determined ,via code-coveraged analysis,to be dynamically unreachable for a given input.
dynamically-dead code
4. Experimental Method
EMI testing using standard OpenCL benchmarks
Intensive CLsmith-based testing
Intensive EMI testing with random programs:
dynamically-dead code . find compiler bugs. effectiveness of the EMI testing with random differential testing in terms of bug-finding ability;
Test case reducing and ranking
A reducer for OpenCL would require a concurrency-aware static analysis to avoid introducing data races.
The problem of ranking test cases in an order that promotes diversity has also been investigated ;one successful ranking metric – code coverage during compilation – may be difficult to apply to proprietary OpenCL compilers that are invoked at runtime.
标签:
原文地址:http://www.cnblogs.com/franklinNew/p/5701712.html