Verifying Contextual Refinement with Ownership Transfer
Contextual refinement is a compositional approach to compositional verification of concurrent objects. There has been much work designing program logics to prove the contextual refinement between the object implementation and its abstract specification. However, these program logics for contextual r...
Saved in:
Published in | Journal of computer science and technology Vol. 36; no. 6; pp. 1342 - 1366 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
Singapore
Springer Singapore
01.12.2021
Springer Springer Nature B.V School of Computer Science and Technology,University of Science and Technology of China,Hefei 230026,China%Department of Computer Science and Technology,Nanjing University,Nanjing 210023,China State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210023,China |
Subjects | |
Online Access | Get full text |
ISSN | 1000-9000 1860-4749 |
DOI | 10.1007/s11390-021-1671-7 |
Cover
Summary: | Contextual refinement is a compositional approach to compositional verification of concurrent objects. There has been much work designing program logics to prove the contextual refinement between the object implementation and its abstract specification. However, these program logics for contextual refinement verification cannot support objects with resource ownership transfer, which is a common pattern in many concurrent objects, such as the memory management module in OS kernels, which transfers the allocated memory block between the object and clients. In this paper, we propose a new approach to give abstract and implementation independent specifications to concurrent objects with ownership transfer. We also design a program logic to verify contextual refinement of concurrent objects w.r.t. their abstract specifications. We have successfully applied our logic to verifying an implementation of the memory management module, where the implementation is an appropriately simplified version of the original version from a real-world preemptive OS kernel. |
---|---|
Bibliography: | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
ISSN: | 1000-9000 1860-4749 |
DOI: | 10.1007/s11390-021-1671-7 |