作者: Jun Chen
DOI:
关键词:
摘要: Testing concurrent programs remains a difficult task due to the non-deterministic nature of execution. Many approaches have been proposed tackle complexity uncovering potential concurrency bugs. Static analysis tackles problem by analyzing program looking for situations/patterns that might lead possible errors during In general, static cannot precisely locate all errors. Dynamic testing examines and controls its execution also dynamic needs examine paths detect errors, which is intractable. Motivated these observation, new technique developed uses collaboration between find first error but using less time space. scheme, interact iteratively throughout process. provides coarse-grained flow-information guide through relevant search space, while collects concrete runtime-information guided exploration. The feedback refine analysis, then feed forward provide more precise guidance testing. collaborative able uncover concurrency-related bug in faster storage than state-of-the-art testing-tool Java PathFinder. implementation consists static-analysis module based on Soot dynamic-analysis