Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2015, Volume 27, Issue 3, Pages 149–160
DOI: https://doi.org/10.15514/ISPRAS-2015-27(3)-11
(Mi tisp143)
 

A model-based approach to design test oracles for memory subsystems of multicore microprocessors

Alexander Kamkina, Mikhail Petrochenkovb

a Institute for System Programming of the Russian Academy of Sciences
b MCST
References:
Abstract: The paper describes a method for constructing test oracles for memory subsystems of multicore microprocessors. The method is based on using nondeterministic reference models of systems under test. The key idea of the approach is on-the-fly determinization of the model behavior by using reactions from the system. Every time a nondeterministic choice appears in the reference model, additional model instances are created and launched (each simulating a possible variant of the memory subsystem behavior). When the testbench receives a reaction from the subsystem under test, it terminates all model instances whose behavior is inconsistent with that reaction. An error is detected if there is no active instance of the reference model. A reference model and the test oracle are divided into three levels: (1) the operation level, (2) the cache line level, and (3) the memory subsystem level. An operation oracle checks whether processing of a single request of the corresponding type is correct. A cache line oracle is comprised of the operation oracles and responsible for checking requests to the given cache line. The memory subsystem oracle combines cache line oracles and performs overall evaluation of the device behavior. To be implemented efficiently, the method implies the following two restrictions on the memory subsystem under test: (1) requests to different cache lines are executed independently; (2) requests to the same cache line are serialized (at most one request to a cache line is executed at each moment of time). The suggested method with slight modifications was used for verifying the L3 cache of the Elbrus-8C microprocessor; as a result, three bugs were found.
Keywords: multicore microprocessors, cache memory, memory consistency, coherence protocols, functional verification, model-based testing, testbench automation, test oracle, Elbrus-8C.
Bibliographic databases:
Document Type: Article
Language: English
Citation: Alexander Kamkin, Mikhail Petrochenkov, “A model-based approach to design test oracles for memory subsystems of multicore microprocessors”, Proceedings of ISP RAS, 27:3 (2015), 149–160
Citation in format AMSBIB
\Bibitem{KamPet15}
\by Alexander~Kamkin, Mikhail~Petrochenkov
\paper A model-based approach to design test oracles for memory subsystems of multicore microprocessors
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 3
\pages 149--160
\mathnet{http://mi.mathnet.ru/tisp143}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(3)-11}
\elib{https://elibrary.ru/item.asp?id=23832937}
Linking options:
  • https://www.mathnet.ru/eng/tisp143
  • https://www.mathnet.ru/eng/tisp/v27/i3/p149
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:136
    Full-text PDF :43
    References:28
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024