Analyzing the Impact of Change in Multi-threaded Programs
Analyzing the Impact of Change in Multi-threaded Programs
复制标题
分析多线程程序变化的影响
DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
César Sánchez
中科院分区:
文献类型:
--
作者:
K. Chatterjee;L. D. Alfaro;Vishwanath Raman;César Sánchez
We introduce a technique for debugging multi-threaded C programs and analyzing the impact of source code changes, and its implementation in the prototype tool DIRECT. Our approach uses a combination of source code instrumentation and runtime management. The source code along with a test harness is instrumented to monitor Operating System (OS) and user defined function calls. DIRECT tracks all concurrency control primitives and, optionally, data from the program. DIRECT maintains an abstract global state that combines information from every thread, including the sequence of function calls and concurrency primitives executed. The runtime manager can insert delays, provoking thread interleavings that may exhibit bugs that are difficult to reach otherwise. The runtime manager collects an approximation of the reachable state space and uses this approximation to assess the impact of change in a new version of the program.