×

兹马思-数学第一资源

使用显式调度程序和符号线程进行软件模型检查。(英语) Zbl 1254.68074号
摘要:在许多实际的应用领域中,软件被组织成一组线程,这些线程的激活是排他的,并由一个协作调度策略控制:线程执行,没有任何中断,直到它们终止或者显式地将控制权交给调度程序。
这种软件的正式验证带来了重大挑战。一方面,每个线程可能有无限的状态空间,并且可能需要抽象。另一方面,调度策略对于正确性往往很重要,基于抽象调度器的方法可能会导致精度损失和误报。不幸的是,将问题转化为一个纯顺序的软件模型检查问题对于现有的技术来说是非常低效的。
我们提出了一种利用这些程序的内在结构的软件模型检查技术。每个线程被转换成一个单独的顺序程序,并用惰性抽象进行象征性的探索,而整个验证则由调度器的直接执行来安排。该方法通过过滤调度器的探索和部分降阶的集成来进行优化。
这项技术被称为ESST(explicit scheduler,Symbol threads)已经实现,并在一组重要的基准测试上进行了实验评估。结果表明,ESST技术比软件模型检验更有效地应用于顺序化程序,并且部分降阶可以进一步提高性能。
理学硕士:
68N30型 软件工程的数学方面(规范、验证、度量、需求等)
68Q60型 规范和验证(程序逻辑、模型检查等)
PDF格式 BibTeX公司 XML 引用
全文: 内政部