Opposition Messages

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.


53 http://en.wikipedia.org/wiki/Binary_opposition

54 http://en.wikipedia.org/wiki/Ferdinand_de_Saussure

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset