Techniques are provided for automatically circumventing errors encountered
by a software system. The software system automatically determines that
the code path executed to perform a particular operation contains a
software error. Upon determining that path-switching conditions are
satisfied, the software system automatically switches the execution code
path for the particular operation from the current code path to a
different code path, where the different code path is selected from a
predetermined plurality of code paths that can execute the particular
operation.