首页> 外文期刊>International journal of software engineering and knowledge engineering >Testing Multi-Threaded Applications Using Answer Set Programming
【24h】

Testing Multi-Threaded Applications Using Answer Set Programming

机译:使用答案集编程测试多线程应用程序

获取原文
获取原文并翻译 | 示例
       

摘要

We introduce a technique to formally represent and specify race conditions in multithreaded applications. Answer set programming (ASP) is a logic-based knowledge representation paradigm to formally express belief acquired through reasoning in an application domain. The transparent and expressiveness representation of problems along with powerful non-monotonic reasoning power enable ASP to abstractly represent and solve some certain classes of NP hard problems in polynomial times. We use ASP to formally express race conditions and thus represent potential data races often occurred in multithreaded applications with shared memory models. We then use ASP to generate all possible test inputs and thread interleaving, i.e. scheduling, whose executions would result in deterministically exposing thread interleaving failures. We evaluated the proposed technique with some moderate sized Java programs, and our experimental results confirm that the proposed technique can practically expose common data races in multithreaded programs with low false positive rates. We conjecture that, in addition to generating threads scheduling whose execution order leads to the exposition of data races, ASP has several other applications in constraint-based software testing research and can be utilized to express and solve similar test case generation problems where constraints play a key role in determining the complexity of searches.
机译:我们引入一种技术来正式表示和指定多线程应用程序中的竞争条件。答案集编程(ASP)是一种基于逻辑的知识表示范例,用于正式表达通过在应用程序域中进行推理而获得的信念。问题的透明表示和强大的非单调推理能力使ASP能够抽象地表示和解决多项式时代的某些类型的NP难题。我们使用ASP正式表达竞争条件,从而代表具有共享内存模型的多线程应用程序中经常发生的潜在数据竞争。然后,我们使用ASP生成所有可能的测试输入和线程交织(即调度),其执行将确定性地暴露线程交织失败。我们用一些中等大小的Java程序评估了所提出的技术,并且我们的实验结果证实了所提出的技术实际上可以在误报率低的情况下公开多线程程序中的常见数据竞争。我们推测,除了生成线程调度(其执行顺序导致数据争用的说明)外,ASP在基于约束的软件测试研究中还有其他几个应用程序,并且可以用来表达和解决类似的测试案例生成问题,其中约束发挥了作用。在确定搜索复杂性中起关键作用。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号