一种基于符号计算的动态并行程序污点分析方法,根据并行程序的污染传播语义构建约束表达式,采用约束求解器验证该变量是否会在某种交织下被污染,并且生成被污染时的证据序列;首先,在给定的污染输入下执行程序,收集特定交织下的污染变量实例集合;其次,符号分析根据并行程序污染传播语义,将执行路径转化为约束表达式以验证此路径是否新的被污染变量;然后,路径探索利用此约束模型来验证是否存在分支可被取反,以寻找新路径;最后,继续验证新路径,符号分析与路径探索迭代进行,直至不再产生新路径;此方法的目标是给定输入下,验证特定调度下是否存在一些变量会在其他交织中被污染;且寻找新语句,以发现新的污染变量。