CN112765917B - 基于内存回收方案的非阻塞算法的形式化验证方法 - Google Patents

基于内存回收方案的非阻塞算法的形式化验证方法 Download PDF

Info

Publication number
CN112765917B
CN112765917B CN202110025416.9A CN202110025416A CN112765917B CN 112765917 B CN112765917 B CN 112765917B CN 202110025416 A CN202110025416 A CN 202110025416A CN 112765917 B CN112765917 B CN 112765917B
Authority
CN
China
Prior art keywords
formal
model
verification
scheme
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110025416.9A
Other languages
English (en)
Other versions
CN112765917A (zh
Inventor
郭建
杨兰兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN202110025416.9A priority Critical patent/CN112765917B/zh
Publication of CN112765917A publication Critical patent/CN112765917A/zh
Application granted granted Critical
Publication of CN112765917B publication Critical patent/CN112765917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于内存回收方案的非阻塞算法的形式化验证方法。针对非阻塞算法的实现中所涉及到的内存回收问题,分析了两类解决方案——基于指针的风险指针方案和基于时间点的RCU同步机制,使用CIVL验证框架提供的形式化建模语言CIVL‑C对应用了内存回收方案的非阻塞算法建立其形式化模型,同时分析非阻塞算法中可能出现的安全性问题,结合程序的功能,使用同一形式化验证语言进行描述,并将形式化模型和性质二者整合在同一个.cvh文件中,使用CIVL验证工具进行形式化验证。根据验证工具给出的结果分析模型的正确性和安全性等,即形式化模型是否满足性质。如果验证结果正确则完成验证,否则根据验证工具给出的反例路径修改算法直至验证完成。

Description

基于内存回收方案的非阻塞算法的形式化验证方法
技术领域
本发明涉及操作系统领域,具体涉及一种基于内存回收方案的非阻塞算法的形式化验证方法。
背景技术
随着互联网的飞速发展,软件和程序已经变得越来越复杂,其正确性和安全性的保证一直是学术界和和工业界努力的方向。作为计算机重要的组成部分,同时也是关键的核心软件系统,操作系统的行为更是需要进行严格、精确的定义和验证。一旦出现故障,修复起来将是牵一发而动全身,有限的知识和人力无法应对这种复杂的局面,于是诞生了软件工程理论,它提供了一套针对软件开发过程中各个周期的工程化方法以保证软件质量。然而,遵循规范的开发流程也难以保证软件完全不出现错误,尤其是软件测试阶段,一般来说很难提供完备的测试用例。特别在安全攸关系统中更是无法容忍。
与此同时,人们也提出了另一种理论来指导软硬件开发实践,通过严谨的数学技术来描述和验证系统,检验其产生的形式化模型的性质,以提高软硬件设计的可靠性,即形式化方法(Formal Methods)。目前,利用严格的形式化方法被公认为是能够保证系统正确性和安全性的可靠手段。
发明内容
本发明提出了一种基于内存回收方案的非阻塞算法的形式化验证方法,针对应用了内存回收方案的非阻塞算法进行形式化建模,分析了两类解决方案----基于指针的风险指针方案和基于时间点的RCU同步机制,其核心思想模型;针对非阻塞算法建立CIVL模型,对内存安全性相关的性质、程序正确性以及死锁等性质使用形式化模型语言进行描述;然后将形式化性质描述与其CIVL模型并为一个.cvh文件,作为形式化验证工具CIVL的输入;根据CIVL工具给出的验证结果,分析模型是否与性质一致。将形式化验证的方法引入到操作系统并发技术的设计开发中,提高其安全性和正确性。
本发明提出了一种基于内存回收方案的非阻塞算法的形式化验证方法,包括:
步骤A:根据风险指针方案和RCU(Ready-Copy-Update,读-拷贝修改)同步机制的核心思想,对其实现的非阻塞算法进行形式化模型的总体设计;
步骤B:根据形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模;
步骤C:提取形式化性质,并使用同一种形式化语言进行描述,所述形式化性质包括内在安全性;
步骤D:将应用了内存回收方案的非阻塞算法的形式化模型和相关的形式化性质描述整合在一个.cvh文件中;
步骤E:将合并的非阻塞算法的形式化模型和形式化性质描述文件作为CIVL验证工具的输入,并对CIVL验证工具给出的结果进行分析,如果验证结果给出了性质不满足时所对应的路径信息,则需要分析模型中存在的问题并进行修改,否则表明形式化模型满足所提取的性质,不存在内存相关的安全性等问题。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤A根据风险指针方案和RCU同步机制的核心思想,对其实现的非阻塞算法进行形式化模型的总体设计包括以下步骤:
步骤A1:根据风险指针方案的核心思想,对其形式化模型进行总体设计;
步骤A2:根据RCU同步机制的核心思想,对其形式化模型进行总体设计。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述A1对于风险指针的总体设计基于非阻塞队列进行设计。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述A2对于RCU同步机制的总体设计基于多CPU核心的经典RCU方案,并且仅以每一个CPU发生上下文切换作为宽限期检测的标志。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤B根据形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模包括以下步骤:
步骤B1:根据风险指针方案形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模;
步骤B2:根据RCU同步机制形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述B1根据风险指针方案形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模包括以下步骤:
步骤B11:建立非阻塞队列基本模型:
步骤B12:建立原子原语模型;
步骤B13:建立内存分配;
步骤B14:建立内存回收模型;
步骤B15:建立风险指针模型。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述B2根据RCU同步机制形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模,包括以下步骤:
步骤B21:建立CPU状态模型;
步骤B22:建立宽限期模型;
步骤B23:建立内存分配、内存回收模型;
步骤B24:建立RCU原语模型;
步骤B25:建立验证场景模型。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述B25建立验证场景模型包括以下步骤:
步骤B251:建立读端验证场景建模;
步骤B252:建立写端验证场景建模;
步骤B253:建立读者升级为写者验证场景建模。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤C提取内存安全性等性质,并使用一种形式化,如CIVL-C语言进行描述,包括以下步骤:
步骤C1:提取的形式化性质包括内存安全性相关的性质,如内存泄漏、非法访问、ABA问题,以及算法的死锁性;
步骤C2:结合形式化模型的设计,将提取的性质使用CIVL-C形式化语言进行描述。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤D将应用了内存回收方案的非阻塞算法的形式化模型和相关的形式化性质描述整合在一个.cvh文件,需要将形式化性质描述语句加入到所对应的模型具体位置。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤E验证并对CIVL验证工具给出的结果进行分析包括以下步骤:
步骤E1:将合并的非阻塞算法的形式化模型和形式化性质描述文件作为CIVL验证工具的输入;
步骤E2:分析CIVL验证工具给出的结果,如果验证结果给出了性质不满足时所对应的路径信息,则需要分析模型中存在的问题并进行修改,否则表明形式化模型满足所提取的性质,不存在内存相关的安全性等问题。
本发明所提出的基于内存回收方案的非阻塞算法的形式化验证方法有益效果在于:将针对非阻塞算法中所必须解决的内存回收问题进行形式化分析。分别针对应用了风险指针方案和RCU同步机制的非阻塞算法进行形式化建模,其核心思想模型;针对非阻塞算法建立CIVL模型,对内存安全性相关的性质、程序正确性以及死锁等性质使用形式化模型语言进行描述;然后将形式化性质描述与其CIVL模型并为一个.cvh文件,作为形式化验证工具CIVL的输入;根据CIVL工具给出的验证结果,分析模型是否与性质一致。若验证不通过,CIVL工具将给出反例的执行路径,有助于分析并修正模型。
附图说明
图1表示本发明的基于内存回收方案的非阻塞算法的形式化验证方法的总体流程示意图。
图2表示本发明的基于内存回收方案的非阻塞算法的形式化验证方法中RCU同步机制的总体设计图。
图3表示本发明的基于内存回收方案的非阻塞算法的形式化验证方法中风险指针方案的整体建模框架图。
图4表示本发明的基于内存回收方案的非阻塞算法的形式化验证方法中RCU同步机制的整体建模框架图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明公开了一种基于内存回收方案的非阻塞算法的形式化验证方法。针对非阻塞算法的实现中所涉及到的内存回收问题,分析了两类解决方案——基于指针的风险指针方案和基于时间点的RCU同步机制,使用CIVL验证框架提供的形式化建模语言CIVL-C对应用了内存回收方案的非阻塞算法建立其形式化模型,同时分析并总结非阻塞算法中可能出现的安全性问题,结合程序的功能,使用同一形式化验证语言进行描述,并将形式化模型和性质二者整合在同一个.cvh文件中,使用CIVL验证工具进行形式化验证。根据验证工具给出的结果分析模型的正确性和安全性等,即形式化模型是否满足性质。如果验证结果正确则完成验证,否则根据验证工具给出的反例路径修改算法直至验证完成。
本发明的基于内存回收方案的非阻塞算法的形式化验证方法,针对两类应用了内存回收方案的非阻塞算法进行形式化建模,包括原子原语模型、内存管理模型以及内存回收方案的核心思想模型;提取内存安全性相关的性质、程序正确性以及死锁等性质并使用形式化模型语言进行描述;根据形式化性质所对应的模型具体位置将二者合并为一个.cvh文件,作为CIVL形式化验证工具的输入;根据CIVL工具给出的验证结果,分析模型是否与性质一致。
本发明提出了一种基于内存回收方案的非阻塞算法的形式化验证方法,包括:
步骤A:根据风险指针方案和RCU同步机制的核心思想,对其实现的非阻塞算法进行形式化模型的总体设计;
步骤B:根据形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模;
步骤C:提取内存安全性等性质,并使用同一种形式化语言进行描述;
步骤D:将应用了内存回收方案的非阻塞算法的形式化模型和相关的形式化性质描述整合在一个.cvh文件中;
步骤E:将合并的非阻塞算法的形式化模型和形式化性质描述文件作为CIVL验证工具的输入,并对CIVL验证工具给出的结果进行分析,如果验证结果给出了性质不满足时所对应的路径信息,则需要分析模型中存在的问题并进行修改,否则表明形式化模型满足所提取的性质,不存在内存相关的安全性等问题。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤A根据风险指针方案和RCU同步机制的核心思想,对其实现的非阻塞算法进行形式化模型的总体设计包括以下步骤:
步骤A1:根据风险指针方案的核心思想,对其形式化模型进行总体设计;
步骤A2:根据RCU同步机制的核心思想,对其形式化模型进行总体设计。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述A1对于风险指针的总体设计基于非阻塞队列进行设计。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述A2对于RCU同步机制的总体设计基于多CPU核心的经典RCU方案,并且仅以每一个CPU发生上下文切换作为宽限期检测的标志。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤B根据形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模包括以下步骤:
步骤B1:根据风险指针方案形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模;
步骤B2:根据RCU同步机制形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述B1根据风险指针方案形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模包括以下步骤:
步骤B11:建立非阻塞队列基本模型;
步骤B12:建立原子原语模型;
步骤B13:建立内存分配;
步骤B14:建立内存回收模型;
步骤B15:建立风险指针模型。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述B2根据RCU同步机制形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模包括以下步骤:
步骤B21:建立CPU状态模型;
步骤B22:建立宽限期模型;
步骤B23:建立内存分配、内存回收模型;
步骤B24:建立RCU原语模型;
步骤B25:建立验证场景模型。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤B25建立验证场景模型包括以下步骤:
步骤B251:建立读端验证场景建模;
步骤B252:建立写端验证场景建模;
步骤B253:建立读者升级为写者验证场景建模。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤C提取内存安全性等性质,并使用同一种形式化语言进行描述包括以下步骤:
步骤C1:提取的形式化性质包括内存安全性相关的性质,如内存泄漏、非法访问、ABA问题,以及程序的执行结果的正确性、死锁问题;
步骤C2:结合形式化模型的设计,将提取的性质使用CIVL-C形式化语言进行描述。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤D将应用了内存回收方案的非阻塞算法的形式化模型和相关的形式化性质描述整合在一个.cvh文件,需要将形式化性质描述语句加入到所对应的模型具体位置。
本发明提出的基于内存回收方案的非阻塞算法的形式化验证方法中,所述步骤E验证并对CIVL验证工具给出的结果进行分析包括以下步骤:
步骤E1:将合并的非阻塞算法的形式化模型和形式化性质描述文件作为CIVL验证工具的输入;
步骤E2:分析CIVL验证工具给出的结果,如果验证结果给出了性质不满足时所对应的路径信息,则需要分析模型中存在的问题并进行修改,否则表明形式化模型满足所提取的性质,不存在内存相关的安全性等问题。
本发明所提出的基于内存回收方案的非阻塞算法的形式化验证方法,针对非阻塞算法中所必须解决的内存回收问题进行形式化分析。分别针对应用了风险指针方案和RCU同步机制的非阻塞算法进行形式化建模,包括实现非阻塞算法所依赖的原子操作的建模、内存管理模型以及两类内存回收方案的核心思想模型;提取内存安全性相关的性质、程序正确性以及死锁等性质并使用形式化模型语言进行描述;根据形式化性质所对应的模型具体位置将二者合并为一个.cvh文件,作为CIVL形式化验证工具的输入;根据CIVL工具给出的验证结果,分析模型是否与性质一致。
实施例
如图1所示,是本发明的基于内存回收方案的非阻塞算法的形式化验证方法的总体流程示意图,本发明包括以下步骤:
步骤A:分别根据风险指针方案和RCU同步机制的核心思想,对应用其实现的非阻塞算法进行形式化模型的总体设计。风险指针方案基于非阻塞队列进行设计;对于RCU同步机制的总体设计则基于多CPU核心的经典RCU方案,并且仅以每一个CPU发生上下文切换作为宽限期检测的标志,如图2所示,时间线从上到下,各个CPU上存在着更新线程或读线程,其中深色矩形表示和当前宽限期相关的线程。类似的,圆圈代表一次上下文切换,其中深色圆圈表示需要记录静止状态的上下文切换。图中CPU0完成更新操作后,发生上下文切换并记录当前CPU的静止状态信息,同时开启宽限期,开始等待其他读者执行。其他CPU上的读线程执行结束时也发生上下文切换,并记录静止状态信息。当最后一个CPU通过静止状态时,宽限期结束,该CPU执行free()操作回收已删除节点的内存,图中为CPU1完成这一操作。
步骤B:根据形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模。在风险指针方案中,其非阻塞队列操作包含入队操作、出队操作和回收方法,将其形式化抽象建模,模型包括非阻塞队列基本模型、原子操作模型、内存模型以及风险指针模型,如图3所示;RCU同步机制包含宽限期、订阅发布机制和多版本三大模型,对其进行抽象,建立形式化模型,其形式化模型包括CPU模型、宽限期模型、内存回收模型、RCU原语模型以及验证场景模型。另外,在建立RCU同步机制的验证场景模型时,不仅包括一般的读、写端验证场景,还增加了用于检测死锁的读者升级为写者的验证场景,如图4所示。
步骤C:提取内存安全性等性质,包括内存泄漏、非法访问、ABA问题等,以及死锁问题的形式化描述,并使用同一种形式化语言进行描述;
步骤D:根据形式化性质所对应的模型具体位置,将应用了内存回收方案的非阻塞算法的形式化模型和相关的形式化性质描述整合在一个.cvh文件中;
步骤E:将合并的非阻塞算法的形式化模型和形式化性质描述文件作为CIVL验证工具的输入,并对CIVL验证工具给出的结果进行分析,如果验证结果给出了性质不满足时所对应的路径信息,则需要分析模型中存在的问题并进行修改,否则表明形式化模型满足所提取的性质,不存在内存相关的安全性等问题。
本具体实例以基于风险指针方案和RCU同步机制的非阻塞算法的形式化验证为例,首先根据两类内存回收方案的核心思想,对应用其实现的非阻塞算法进行总体设计,其中风险指针方案应用在非阻塞队列中,RCU同步机制则应用在基于多CPU核心的读多写少的并发场景中。根据总体设计分别建立对应的形式化模型,并根据内存安全性相关的性质使用CIVL-C形式化语言进行描述。将形式化模型与性质整合在同一个.cvh文件中作为CIVL验证工具的输入,如果验证失败,则根据验证工具给出的反例执行路径修正模型并重新验证,直到验证通过,说明两类内存回收方案满足内存安全性等的性质。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (9)

1.一种基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,包括以下步骤:
步骤A:根据风险指针方案和RCU同步机制的核心思想,对其实现的非阻塞算法进行形式化模型的总体设计;
步骤B:根据形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模,包括以下子步骤:
步骤B1:根据风险指针方案形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模;
步骤B2:根据RCU同步机制形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模,包括以下子步骤:
步骤B21:建立CPU状态模型;
步骤B22:建立宽限期模型;
步骤B23:建立内存分配、内存回收模型;
步骤B24:建立RCU原语模型;
步骤B25:建立验证场景模型;
步骤C:提取形式化性质,并使用同一种形式化语言进行描述,所述形式化性质包括内在安全性;
步骤D:将应用了内存回收方案的非阻塞算法的形式化模型和相关的形式化性质描述整合在一个.cvh文件中;
步骤E:将合并的非阻塞算法的形式化模型和形式化性质描述文件作为CIVL验证工具的输入,并对CIVL验证工具给出的结果进行分析,如果验证结果给出了性质不满足时所对应的路径信息,则需要分析模型中存在的问题并进行修改,否则表明形式化模型满足所提取的性质,不存在内存相关的安全性问题。
2.如权利要求1所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤A中,根据风险指针方案和RCU同步机制的核心思想,对其实现的非阻塞算法进行形式化模型的总体设计包括以下子步骤:
步骤A1:根据风险指针方案的核心思想,对其形式化模型进行总体设计;
步骤A2:根据RCU同步机制的核心思想,对其形式化模型进行总体设计。
3.如权利要求2所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤A1中,对于风险指针的总体设计基于非阻塞队列进行设计。
4.如权利要求2所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤A2中,对于RCU同步机制的总体设计基于多CPU核心的经典RCU方案,并且仅以每一个CPU发生上下文切换作为宽限期检测的标志。
5.如权利要求1所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤B1中,根据风险指针方案形式化模型的总体设计,采用形式化建模语言CIVL-C对其进行形式化建模包括以下子步骤:
步骤B11:建立非阻塞队列基本模型;
步骤B12:建立原子原语模型;
步骤B13:建立内存分配;
步骤B14:建立内存回收模型;
步骤B15:建立风险指针模型。
6.如权利要求1所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤B25中,建立验证场景模型包括以下子步骤:
步骤B251:建立读端验证场景建模;
步骤B252:建立写端验证场景建模;
步骤B253:建立读者升级为写者验证场景建模。
7.如权利要求1所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤中C,提取形式化性质,并使用同一种形式化语言进行描述包括以下子步骤:
步骤C1:提取的形式化性质包括内存安全性,具体包括内存泄漏、非法访问、ABA问题,以及算法的死锁性;
步骤C2:结合形式化模型的设计,将提取的形式化性质使用CIVL-C形式化语言进行描述。
8.如权利要求1所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤D中,将应用了内存回收方案的非阻塞算法的形式化模型和相关的形式化性质描述整合在一个.cvh文件,需要将形式化性质描述语句加入到所对应的模型具体位置。
9.如权利要求1所述的基于内存回收方案的非阻塞算法的形式化验证方法,其特征在于,所述步骤E中,验证并对CIVL验证工具给出的结果进行分析包括以下子步骤:
步骤E1:将合并的非阻塞算法的形式化模型和形式化性质描述文件作为CIVL验证工具的输入;
步骤E2:分析CIVL验证工具给出的结果,如果验证结果给出了性质不满足时所对应的路径信息,则需要分析模型中存在的问题并进行修改,否则表明形式化模型满足所提取的性质,不存在内存相关的安全性问题。
CN202110025416.9A 2021-01-08 2021-01-08 基于内存回收方案的非阻塞算法的形式化验证方法 Active CN112765917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110025416.9A CN112765917B (zh) 2021-01-08 2021-01-08 基于内存回收方案的非阻塞算法的形式化验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110025416.9A CN112765917B (zh) 2021-01-08 2021-01-08 基于内存回收方案的非阻塞算法的形式化验证方法

Publications (2)

Publication Number Publication Date
CN112765917A CN112765917A (zh) 2021-05-07
CN112765917B true CN112765917B (zh) 2022-07-08

Family

ID=75701091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110025416.9A Active CN112765917B (zh) 2021-01-08 2021-01-08 基于内存回收方案的非阻塞算法的形式化验证方法

Country Status (1)

Country Link
CN (1) CN112765917B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791916B (zh) * 2021-11-17 2022-02-08 支付宝(杭州)信息技术有限公司 对象更新、读取方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507903B1 (en) * 2000-06-20 2003-01-14 International Business Machines Corporation High performance non-blocking parallel storage manager for parallel software executing on coordinates
CN107193753A (zh) * 2017-06-16 2017-09-22 深圳市万普拉斯科技有限公司 内存重整方法、装置、电子设备及可读存储介质
CN109784491A (zh) * 2018-12-15 2019-05-21 中国人民解放军陆军工程大学 基于描述逻辑的服务编导模型形式化验证方法
CN110727675A (zh) * 2018-07-17 2020-01-24 阿里巴巴集团控股有限公司 一种链表的处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512018A (zh) * 2014-09-23 2016-04-20 上海精密计量测试研究所 一种并行系统性能的形式化分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507903B1 (en) * 2000-06-20 2003-01-14 International Business Machines Corporation High performance non-blocking parallel storage manager for parallel software executing on coordinates
CN107193753A (zh) * 2017-06-16 2017-09-22 深圳市万普拉斯科技有限公司 内存重整方法、装置、电子设备及可读存储介质
CN110727675A (zh) * 2018-07-17 2020-01-24 阿里巴巴集团控股有限公司 一种链表的处理方法及装置
CN109784491A (zh) * 2018-12-15 2019-05-21 中国人民解放军陆军工程大学 基于描述逻辑的服务编导模型形式化验证方法

Also Published As

Publication number Publication date
CN112765917A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN108509336B (zh) 一种操作系统规范形式化验证与测试方法
US8209671B2 (en) Computer program testing after source code modification using execution conditions
US10423474B2 (en) Performing diagnostic tracing of an executing application to identify suspicious pointer values
CN107590070B (zh) 一种业务流程调试方法及装置
Lesani et al. A framework for formally verifying software transactional memory algorithms
CN112765917B (zh) 基于内存回收方案的非阻塞算法的形式化验证方法
Chupilko et al. Runtime verification based on executable models: On-the-fly matching of timed traces
Krishnan et al. An integrated system design and safety framework for model-based safety analysis
CN111679964B (zh) 基于边界模型检测技术的微内核操作系统接口的形式化验证方法
CN118094567A (zh) 一种基于x86-64指令集的二进制代码静态分析方法
Kaiser et al. State-event-fault-trees–a safety analysis model for software controlled systems
EP3570173B1 (en) Equivalence verification apparatus and equivalence verification program
Lo et al. Efficient mining of recurrent rules from a sequence database
Le et al. Towards analyzing functional coverage in SystemC TLM property checking
Greiner et al. Feature-based software architecture analysis to identify safety and security interactions
CN112559359B (zh) 一种基于s2ml的安全攸关系统分析与验证方法
US9015658B2 (en) Automatic program generation device and automatic program generation method
Jensen et al. A proof of burns n-process mutual exclusion algorithm using abstraction
Zhang et al. Evaluating Large Language Models for Real-World Vulnerability Repair in C/C++ Code
CN115268853A (zh) 一种基于约束求解器的自动形式验证方法与装置
US10969429B1 (en) System and method for debugging in concurrent fault simulation
CN111124723B (zh) 基于干扰变量的中断驱动型程序整数溢出模型检测方法
Kästner Aspect-oriented refactoring of Berkeley DB
Yamamoto et al. Towards static recovery of micro state transitions from legacy embedded code
Andrews et al. Selective regression testing of safety-critical systems: a black box approach

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant