This pattern name is borrowed from binary opposition53 originated in Saussure's structuralism54). It covers the following pairs of messages usually found in software traces and logs such as:
• open / close
• create / destroy
• allocate / free (deallocate)
• call / return
• enter / exit (leave)
• load / unload
• save / load
• lock / unlock
• map / unmap
The absence of an opposite may point to some problems such as synchronization and leaks or Incomplete History (Volume 5, page 286, for example, wait chains). There can always be a possibility that a second term is missing due to Sparse Trace (page 303) but this is a poor implementation choice that leads to confusion during troubleshooting and debugging.