A computing system comprising at least one memory and at least one processor configured to execute a security-enhanced application program by performing operations comprising: arranging a plurality of guard regions in the memory in relation to data objects formed by the security-enhanced application program; inserting bipartite guards in the guard regions arranged in the memory, the bipartite guards each having a predetermined number of bits, wherein the bipartite guards are structured to include a small guard value and a full guard value, the small guard value being smaller than the full guard value, the bipartite guards being further structured to include the small guard value at a plurality of predefined locations therein, the predefined locations being selected to facilitate strided access to the small guard value; identifying an access by the security-enhanced application program to a guard region arranged in the memory as a disallowed access, wherein the identifying an access comprises at least one of tracking memory object creation and deletion, and detecting whether a memory access by the security-enhanced application program is a disallowed access to the guard region; and modifying execution of the security-enhanced application program in response to the identifying, the modifying being in order to prevent exploitation of the memory and/or to correctly execute the security-enhanced application program; wherein the detecting whether a memory access is a disallowed access is performed and comprises: determining an address associated with the memory access; and determining whether at least one of the bipartite guards placed in the guard regions is located at the determined address, including (a) detecting whether the small guard value is positioned at the determined address, and (b) responsive to the small guard value being positioned at the determined address as detected in (a), further detecting whether the full guard value is present in relation to the determined address. arranging a plurality of guard regions in the memory in relation to data objects formed by the security-enhanced application program; inserting bipartite guards in the guard regions arranged in the memory, the bipartite guards each having a predetermined number of bits, wherein the bipartite guards are structured to include a small guard value and a full guard value, the small guard value being smaller than the full guard value, the bipartite guards being further structured to include the small guard value at a plurality of predefined locations therein, the predefined locations being selected to facilitate strided access to the small guard value; identifying an access by the security-enhanced application program to a guard region arranged in the memory as a disallowed access, wherein the identifying an access comprises at least one of tracking memory object creation and deletion, and detecting whether a memory access by the security-enhanced application program is a disallowed access to the guard region; and modifying execution of the security-enhanced application program in response to the identifying, the modifying being in order to prevent exploitation of the memory and/or to correctly execute the security-enhanced application program; wherein the detecting whether a memory access is a disallowed access is performed and comprises: determining an address associated with the memory access; and determining whether at least one of the bipartite guards placed in the guard regions is located at the determined address, including (a) detecting whether the small guard value is positioned at the determined address, and (b) responsive to the small guard value being positioned at the determined address as detected in (a), further detecting whether the full guard value is present in relation to the determined address. determining an address associated with the memory access; and determining whether at least one of the bipartite guards placed in the guard regions is located at the determined address, including (a) detecting whether the small guard value is positioned at the determined address, and (b) responsive to the small guard value being positioned at the determined address as detected in (a), further detecting whether the full guard value is present in relation to the determined address.