使用关系干扰抽象对并发程序进行精确的线程模块抽象解释
我们通过抽象解释多线程程序中的数值属性来进行静态分析。该分析是合理的(假设内存顺序一致),通过选择抽象域进行参数化,为了扩大规模,它是模块化的,因为它在每个线程上单独迭代(可能多次),而不是在其产品上迭代。我们在先前工作的基础上,将可靠保证验证方法形式化为一种具体的基于定点的语义,然后应用经典的数字抽象来独立抽象线程状态和线程干扰。这就产生了一种灵活的算法,允许广泛的精度与成本权衡,并能够推断出甚至是流敏感和关系线程干扰。我们在一个简单语言的分析器原型中实现了我们的方法,并在两个或多个线程的几个经典互斥算法上进行了实验。我们的原型是用多面体域实例化的,并使用简单的控制分区来区分关键部分和周围代码。它使用多面体关联所有线程的变量,这限制了它在变量数量上的可伸缩性。然而,初步实验和与ConcurInterproc的比较表明,模块化可以扩展到大量线程实例,前提是变量总数保持较小。
菲奇尔校长
vmcai17.pdf(514.8 Ko)
特勒充电器
原籍 |
菲奇尔斯(Fichiers)出品的par l’(les)auteur(s) |
拉斐尔·莫纳特 : Connectez-vous浇注接触器le contributer
https://inria.hal.science/hal-01490178
Soumis le:mardi 2017年5月14日23:36:03
Dernière修改le:vendredi 19 avril 2024-16:18:58
Archivageàlong-terme le:2017年7月15日15:15:58