Separation and information hiding
PW O'Hearn, H Yang, JC Reynolds - ACM Transactions on Programming …, 2009 - dl.acm.org
PW O'Hearn, H Yang, JC Reynolds
ACM Transactions on Programming Languages and Systems (TOPLAS), 2009•dl.acm.orgWe investigate proof rules for information hiding, using the formalism of separation logic. In
essence, we use the separating conjunction to partition the internal resources of a module
from those accessed by the module's clients. The use of a logical connective gives rise to a
form of dynamic partitioning, where we track the transfer of ownership of portions of heap
storage between program components. It also enables us to enforce separation in the
presence of mutable data structures with embedded addresses that may be aliased.
essence, we use the separating conjunction to partition the internal resources of a module
from those accessed by the module's clients. The use of a logical connective gives rise to a
form of dynamic partitioning, where we track the transfer of ownership of portions of heap
storage between program components. It also enables us to enforce separation in the
presence of mutable data structures with embedded addresses that may be aliased.
We investigate proof rules for information hiding, using the formalism of separation logic. In essence, we use the separating conjunction to partition the internal resources of a module from those accessed by the module's clients. The use of a logical connective gives rise to a form of dynamic partitioning, where we track the transfer of ownership of portions of heap storage between program components. It also enables us to enforce separation in the presence of mutable data structures with embedded addresses that may be aliased.
ACM Digital Library