A Verification Framework for Assembly Programs Under Relaxed Memory Model Using SMT Solver

被引:0
|
作者
Maleehuan, Pattaravut [1 ]
Chiba, Yuki [2 ]
Aoki, Toshiaki [1 ]
机构
[1] Japan Adv Inst Sci & Technol, Sch Informat Sci, Nomi 9231292, Japan
[2] DENSO Corp, Tokyo 1036015, Japan
来源
关键词
relaxed memory model; model checking; SMT solver; program verification; formalization; AUTOMATIC-ANALYSIS; CHECKING; CONSISTENCY;
D O I
10.1587/transinf.2018EDP7099
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
In multiprocessors, memory models are introduced to describe the executions of programs among processors. Relaxed memory models, which relax the order of executions, are used in the most of the modern processors, such as ARM and POWER. Due to a relaxed memory model could change the program semantics, the executions of the programs might not be the same as our expectation that should preserve the program correctness. In addition to relaxed memory models, the way to execute an instruction is described by an instruction semantics, which varies among processor architectures. Dealing with instruction semantics among a variety of assembly programs is a challenge for program verification. Thus, this paper proposes a way to verify a variety of assembly programs that are executed under a relaxed memory model. The variety of assembly programs can be abstracted as the way to execute the programs by introducing an operation structure. Besides, there are existing frameworks for modeling relaxed memory models, which can realize program executions to be verified with a program property. Our work adopts an SMT solver to automatically reveal the program executions under a memory model and verify whether the executions violate the program property or not. If there is any execution from the solver, the program correctness is not preserved under the relaxed memory model. To verify programs, an experimental tool was developed to encode the given programs for a memory model into a first-order formula that violates the program correctness. The tool adopts a modeling framework to encode the programs into a formula for the SMT solver. The solver then automatically finds a valuation that satisfies the formula. In our experiments, two encoding methods were implemented based on two modeling frameworks. The valuations resulted by the solver can be considered as the bugs occurring in the original programs.
引用
收藏
页码:3038 / 3058
页数:21
相关论文
共 50 条
  • [1] Assembly Program Verification for Multiprocessors with Relaxed Memory Model using SMT Solver
    Maleehuan, Pattaravut
    Chiba, Yuki
    Aoki, Toshiaki
    [J]. PROCEEDINGS 11TH 2017 INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING (TASE), 2017, : 55 - 62
  • [2] Separation Logic Verification of C Programs with an SMT Solver
    Botincan, Matko
    Parkinson, Matthew
    Schulte, Wolfram
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 254 : 5 - 23
  • [3] Effective Abstractions for Verification under Relaxed Memory Models
    Dan, Andrei
    Meshman, Yuri
    Vechev, Martin
    Yahav, Eran
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION (VMCAI 2015), 2015, 8931 : 449 - 466
  • [4] Effective abstractions for verification under relaxed memory models
    Dan, Andrei
    Meshman, Yuri
    Vechev, Martin
    Yahav, Eran
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2017, 47 : 62 - 76
  • [5] Automated Verification of Silq Quantum Programs using SMT Solvers
    Lewis, Marco
    Zuliani, Paolo
    Soudjani, Sadegh
    [J]. 2024 IEEE INTERNATIONAL CONFERENCE ON QUANTUM SOFTWARE, IEEE QSW 2024, 2024, : 125 - 134
  • [6] Interactive Debugging of Concurrent Programs under Relaxed Memory Models
    Verma, Aakanksha
    Kalita, Pankaj Kumar
    Pandey, Awanish
    Roy, Subhajit
    [J]. CGO'20: PROCEEDINGS OF THE18TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2020, : 68 - 80
  • [7] Verification of Chip Multiprocessor Memory Systems Using A Relaxed Scoreboard
    Shacham, Ofer
    Wachs, Megan
    Solomatnikov, Alex
    Firoozshahian, Amin
    Richardson, Stephen
    Horowitz, Mark
    [J]. 2008 PROCEEDINGS OF THE 41ST ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE: MICRO-41, 2008, : 294 - 305
  • [8] Randomised testing of a microprocessor model using SMT-solver state generation
    Campbell, Brian
    Stark, Ian
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2016, 118 : 60 - 76
  • [9] Bounded model checking of analog and mixed-signal circuits using an SMT solver
    Walter, David
    Little, Scott
    Myers, Chris
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2007, 4762 : 66 - +
  • [10] Can We Efficiently Check Concurrent Programs Under Relaxed Memory Models in Maude?
    Abd Alrahman, Yehia
    Andric, Marina
    Beggiato, Alessandro
    Lafuente, Alberto Lluch
    [J]. REWRITING LOGIC AND ITS APPLICATIONS, WRLA 2014, 2014, 8663 : 21 - 41