Analyzing the Impact of Change in Multi-threaded Programs

Analyzing the Impact of Change in Multi-threaded Programs
复制标题

分析多线程程序变化的影响

DOI:
--
复制
发表时间:
2010
期刊:
Fundamental Approaches to Software Engineering
影响因子:
--
通讯作者:
César Sánchez
César Sánchez
中科院分区:
--
文献类型:
--
作者:
K. Chatterjee;L. D. Alfaro;Vishwanath Raman;César Sánchez

文献摘要

被引文献

相似文献

我们介绍了一种调试多线程 C 程序并分析源代码更改影响的技术,及其在原型工具 DIRECT 中的实现。我们的方法结合使用源代码检测和运行时管理。源代码与测试工具一起用于监控操作系统(OS)和用户定义的函数调用。 DIRECT 跟踪所有并发控制原语以及程序中的数据(可选)。 DIRECT 维护一个抽象的全局状态,该状态组合了来自每个线程的信息,包括函数调用的顺序和执行的并发原语。运行时管理器可以插入延迟,引发线程交错,这可能会出现难以达到的错误。运行时管理器收集可到达状态空间的近似值,并使用该近似值来评估程序新版本中的更改的影响。
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.