The structure of the F5 algorithm to compute Gr\"obner bases makes it very
efficient. However, while it is believed to terminate for so-called regular
sequences, it is not clear whether it terminates for all inputs. This paper has
two major parts. In the first part, we describe in detail the difficulties
related to a proof of termination. In the second part, we explore three
variants that ensure termination. Two of these have appeared previously only in
dissertations, and ensure termination by checking for a Gr\"obner basis using
traditional criteria. The third variant, F5+, identifies a degree bound using a
distinction between "necessary" and "redundant" critical pairs that follows
from the analysis in the first part. Experimental evidence suggests this third
approach is the most efficient of the three.Comment: 19 pages, 1 tabl