Logo image
A Region-Based Symbolic Testing and Debugging Approach for Parallel Programming
Thesis

A Region-Based Symbolic Testing and Debugging Approach for Parallel Programming

Chen, Ching-Yu
Masters, 國立清華大學, 資訊工程學系
2013

Abstract

軟體測試 平行程式 共享變數 區域測試 Software Testing Parallel Program Share Variable Region Testing
We present in this thesis a practical and effective region-based symbolic testing and debugging method that guarantees desired coverage for designers while avoiding state explosion problem. This work is motivated by the growing demand of running parallel programs on the increasingly prevalent multi-core systems for higher performance and productivity. However, parallel programming is known to be error-prone and time-consuming as it often induces challenging concurrency bugs. Traditional testing approaches either are infeasible for trying to enumerate all possibilities and encountering state explosion issue or are heuristics that have only limited testing coverage as they explore only partial state space. To develop a practical solution, we have designers specify suspicious interacting regions, instead of blindly testing the whole program, and apply a symbolic execution technique to evaluate results of all execution possibility. Since the region size is normally much smaller than the whole program, our approach is much more efficient and effective in practice. Additionally, we conduct the testing in IR level and hence each testing process effectively covers many target machines. The approach has been implemented and tested on several real world examples and in each case the bug is precisely identified in negligible runtime.

Metrics

1 Record Views

Details

Logo image