首页> 外国专利> Method for Multithreaded Program Output Uniqueness Testing and Proof-Generation, Based on Program Constraint Construction

Method for Multithreaded Program Output Uniqueness Testing and Proof-Generation, Based on Program Constraint Construction

机译:基于程序约束构造的多线程程序输出唯一性测试与证明的方法

摘要

Provided is a method for multithreaded program output uniqueness testing and proof-generation, based on program constraint construction; according to multithreaded program semantics, a constraint expression is constructed; an output uniqueness verification problem is converted to a constraint solving problem; a constraint solver is used to detect the presence of different outputs, and a counterexample execution path describing different outputs is generated; first, a tested program is stubbed, and the program is executed to obtain an execution path; then, according to multithreaded program execution semantics, the execution path is converted to a first-order logic expression having no quantifiers, the constraint expression encompassing all possible thread interleavings; then, uniqueness verification conditions are constructed for the output of a first run; lastly, the constraint solver is used for verifying whether a path is causing the output value and the run result to be inconsistent. The present method detects whether the output of a multithreaded program is unique from a given input; if outputs are not unique, a counterexample sequence is displayed to describe the triggering process of same.
机译:提供了一种基于程序约束构造的多线程程序输出唯一性测试和证明生成的方法。根据多线程程序语义,构造约束表达式。将输出唯一性验证问题转换为约束解决问题;约束求解器用于检测不同输出的存在,并生成描述不同输出的反例执行路径;首先,对测试过的程序进行存根,并执行该程序以获得执行路径;然后,根据多线程程序执行语义,将执行路径转换为不包含量词的一阶逻辑表达式,该约束表达式包含所有可能的线程交织;然后,为首次运行的输出构造唯一性验证条件;最后,约束求解器用于验证路径是否导致输出值和运行结果不一致。本方法从给定的输入检测多线程程序的输出是否唯一。如果输出不是唯一的,则会显示一个反例序列来描述其触发过程。

著录项

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号