Rubyphi: Automated model checking for Cache coherence protocols in gem5.

Saved in:
Bibliographic Details
Title: Rubyphi: Automated model checking for Cache coherence protocols in gem5.
Authors: XU, Xuezheng1, FANG, Jian1, LIANG, Shaojie1, WANG, Lu1, HUANG, Anwen1, SUI, Jinggao1 suijinggao@163.com, LI, Qiong1
Source: Computer Engineering & Science / Jisuanji Gongcheng yu Kexue. Jul2025, Vol. 47 Issue 7, p1141-1151. 11p.
Subjects: Multicore processors, Programming languages, Checks, Designers, Memory, Microprocessors
Abstract: Cache coherence protocols serve as the cornerstone for ensuring data consistency in multi-core systems and directly impact the performance of the memory subsystem, making it a longstanding focal point in microprocessor design and verification. The design and optimization of coherence protocols typically rely on software simulators like gem5 for rapid implementation. Additionally, errors in protocols are difficult to trigger, locate, and repair during simulation, necessitating the use of model checking tools such as Murphi for formal verification. However, there is a significant difference in programming languages and levels of abstraction between simulator-based protocol design and optimization and model-checking-based protocol verification. Designers are required to separately implement simulator code and construct model-checking frameworks, which not only increases time cost but also introduces potential discrepancies in equivalence between the two approaches. To address this challenge, this paper designs and implements Rubyphi, an automated model checking method for Cache coherence protocols targeting the gem5 simulator. By extracting and translating the protocol descriptions and implementations from gem5, Rubyphi automatically generates Murphi-based model checking framework to conduct formal verification. Experimental results demonstrate that Rubyphi effectively accomplishes the modeling and verification of coherence protocols in gem5, successfully uncovering two existing bugs in gem5's protocols. The related issues and patches have been confirmed by the community. [ABSTRACT FROM AUTHOR]
Copyright of Computer Engineering & Science / Jisuanji Gongcheng yu Kexue is the property of Computer Engineering & Science and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 187879538
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Rubyphi: Automated model checking for Cache coherence protocols in gem5.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22XU%2C+Xuezheng%22">XU, Xuezheng</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22FANG%2C+Jian%22">FANG, Jian</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22LIANG%2C+Shaojie%22">LIANG, Shaojie</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22WANG%2C+Lu%22">WANG, Lu</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22HUANG%2C+Anwen%22">HUANG, Anwen</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22SUI%2C+Jinggao%22">SUI, Jinggao</searchLink><relatesTo>1</relatesTo><i> suijinggao@163.com</i><br /><searchLink fieldCode="AR" term="%22LI%2C+Qiong%22">LI, Qiong</searchLink><relatesTo>1</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Computer+Engineering+%26+Science+%2F+Jisuanji+Gongcheng+yu+Kexue%22">Computer Engineering & Science / Jisuanji Gongcheng yu Kexue</searchLink>. Jul2025, Vol. 47 Issue 7, p1141-1151. 11p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Multicore+processors%22">Multicore processors</searchLink><br /><searchLink fieldCode="DE" term="%22Programming+languages%22">Programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Checks%22">Checks</searchLink><br /><searchLink fieldCode="DE" term="%22Designers%22">Designers</searchLink><br /><searchLink fieldCode="DE" term="%22Memory%22">Memory</searchLink><br /><searchLink fieldCode="DE" term="%22Microprocessors%22">Microprocessors</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Cache coherence protocols serve as the cornerstone for ensuring data consistency in multi-core systems and directly impact the performance of the memory subsystem, making it a longstanding focal point in microprocessor design and verification. The design and optimization of coherence protocols typically rely on software simulators like gem5 for rapid implementation. Additionally, errors in protocols are difficult to trigger, locate, and repair during simulation, necessitating the use of model checking tools such as Murphi for formal verification. However, there is a significant difference in programming languages and levels of abstraction between simulator-based protocol design and optimization and model-checking-based protocol verification. Designers are required to separately implement simulator code and construct model-checking frameworks, which not only increases time cost but also introduces potential discrepancies in equivalence between the two approaches. To address this challenge, this paper designs and implements Rubyphi, an automated model checking method for Cache coherence protocols targeting the gem5 simulator. By extracting and translating the protocol descriptions and implementations from gem5, Rubyphi automatically generates Murphi-based model checking framework to conduct formal verification. Experimental results demonstrate that Rubyphi effectively accomplishes the modeling and verification of coherence protocols in gem5, successfully uncovering two existing bugs in gem5's protocols. The related issues and patches have been confirmed by the community. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Computer Engineering & Science / Jisuanji Gongcheng yu Kexue is the property of Computer Engineering & Science and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=187879538
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.3969/j.issn.1007-130X.2025.07.001
    Languages:
      – Code: chi
        Text: Chinese
    PhysicalDescription:
      Pagination:
        PageCount: 11
        StartPage: 1141
    Subjects:
      – SubjectFull: Multicore processors
        Type: general
      – SubjectFull: Programming languages
        Type: general
      – SubjectFull: Checks
        Type: general
      – SubjectFull: Designers
        Type: general
      – SubjectFull: Memory
        Type: general
      – SubjectFull: Microprocessors
        Type: general
    Titles:
      – TitleFull: Rubyphi: Automated model checking for Cache coherence protocols in gem5.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: XU, Xuezheng
      – PersonEntity:
          Name:
            NameFull: FANG, Jian
      – PersonEntity:
          Name:
            NameFull: LIANG, Shaojie
      – PersonEntity:
          Name:
            NameFull: WANG, Lu
      – PersonEntity:
          Name:
            NameFull: HUANG, Anwen
      – PersonEntity:
          Name:
            NameFull: SUI, Jinggao
      – PersonEntity:
          Name:
            NameFull: LI, Qiong
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 07
              Text: Jul2025
              Type: published
              Y: 2025
          Identifiers:
            – Type: issn-print
              Value: 1007130X
          Numbering:
            – Type: volume
              Value: 47
            – Type: issue
              Value: 7
          Titles:
            – TitleFull: Computer Engineering & Science / Jisuanji Gongcheng yu Kexue
              Type: main
ResultId 1