Testing is an important and challenging part of software development and its effectiveness depends on the quality of test cases. However, there exists no means of measuring quality of tests developed for GPU programs and as a result, no test case generation techniques for GPU programs aiming at high test effectiveness. Existing criteria for sequential and multithreaded CPU programs cannot be directly applied to GPU programs as GPU follows a completely different memory and execution model. We surveyed existing work on GPU program verification and bug fixes of open source GPU programs. Based on our findings, we define barrier, branch and loop coverage criteria and propose a set of mutation operators to measure fault finding capabilities of test cases. CLTestCheck, a framework for measuring quality of tests developed for GPU programs by code coverage analysis, fault seeding and work-group schedule amplification has been developed and evaluated using industry standard benchmarks. Experiments show that the framework is able to automatically measure test effectiveness and reveal unusual behaviours. Our planned work includes data flow coverage adopted for GPU programs to probe the underlying cause of unusual kernel behaviours and a more comprehensive work-group scheduler. We also plan to design and develop an automatic test case generator aiming at generating high quality test suites for GPU programs.
I am a PhD candidate at the Laboratory for Foundations of Computer Science (LFCS), School of Informatics, the University of Edinburgh. I hold an MSc in High Performance Computing with Data Science from the University of Edinburgh and a BEng in Computer Science and Technology from Xuzhou University of Technology. During my MSc, I was a member of Team EPCC for the International Supercomputing Conference Student Cluster Competition.
My research interest lies in the area of massively parallel architectures and programming. I am currently doing research in defining code coverage metrics for GPU programs and automated test case generation, reduction and execution. My supervisor is Dr Ajitha Rajan.
Tue 16 JulDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
09:30 - 10:35 | |||
09:30 16mDay opening | Openning Doctoral Symposium | ||
09:46 16mDoctoral symposium paper | On the Correctness of GPU Programs Doctoral Symposium Chao Peng University of Edinburgh, UK | ||
10:02 16mDoctoral symposium paper | JNI Program Analysis with Automatically Extracted C Semantic Summary Doctoral Symposium Sungho Lee KAIST, South Korea | ||
10:18 16mDoctoral symposium paper | Identifying Error Code Misuses in Complex System Doctoral Symposium Wensheng Tang The Hong Kong University of Science and Technology |