Sung-Hwan Lee, Minki Cho, Roy Margalit, Chung-Kil Hur, Ori Lahav.
Proceedings of the 44th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2023).
This repository contains the coq development of the source model (vRC11) and the IR model (PSir). The coq development of mapping PSir to Armv8S can be found here. Please visit the project website for more information.
- Requirement: opam (>=2.0.0), Coq 8.15.2
- Installing dependencies with opam
./configure
- Build the project
make -j
src/model/TView.v
: Definition of thread views and their transitions on memory accessessrc/model/Memory.v
: Definition of memory and memory operationssrc/model/Global.v
: Definition of a global state that is shared between threadssrc/model/Local.v
: Definition of a local state and local transitionssrc/model/Thread.v
: Definition of a thread and thread stepssrc/model/PFConfiguration.v
: Definition of vRC11 machine steps (consisting of thread steps except for PROMISE/RESERVE/CANCEL steps)
src/model/Promises.v
: Definition of promises and promise/fulfill operationssrc/model/Reserves.v
: Definition of reservations and reserve/cancel operationssrc/model/Configuration.v
: Definition of a machine configuration and machine steps
Theorem src_to_ir
insrc/src2ir/SrcToIR.v
: Soundness of mapping vRC11 to PSir
Theorem local_drf_ra
insrc/ldrfra/LocalDRFRA.v
: Local DRF-RA guaranteeTheorem local_drf_sc
insrc/ldrfsc/LocalDRFSC.v
: Local DRF-SC guarantee
Theorem sequential_refinement_adequacy_concurrent_context
insrc/sequential/SequentialAdequacy.v
: The adequacy of sequential reasoning, ported from [Cho et al. 2022]