Issue No. 10 - October (1988 vol. 14)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.6195
<p>Static concurrency analysis detects anomalous synchronization patterns in concurrent programs, but may also report spurious errors involving infeasible execution paths. Integrated application of static concurrency analysis and symbolic execution sharpens the results of the former without incurring the full costs of the latter when applied in isolation. Concurrency analysis acts as a path selection mechanism for symbolic execution, while symbolic execution acts as a pruning mechanism for concurrency analysis. Methods of combining the techniques follow naturally from explicit characterization and comparison of the state spaces explored by each, suggesting a general approach for integrating state-based program analysis techniques in a software development environment.</p>
program testing; static concurrency analysis; symbolic execution; synchronization patterns; concurrent programs; path selection mechanism; concurrency analysis; program analysis; software development environment; parallel programming; program testing
"Combining Static Concurrency Analysis with Symbolic Execution," in IEEE Transactions on Software Engineering, vol. 14, no. , pp. 1499-1511, 1988.