<p><it>Abstract—</it>Uncoordinated checkpointing allows process autonomy and general nondeterministic execution, but suffers from potential domino effects and the associated space overhead. Previous to this research, checkpoint space reclamation had been based on the notion of obsolete checkpoints; as a result, a potentially unbounded number of nonobsolete checkpoints may have to be retained on stable storage. In this paper, we derive a necessary and sufficient condition for identifying all garbage checkpoints. By using the approach of recovery line transformation and decomposition, we develop an optimal checkpoint space reclamation algorithm and show that the space overhead for uncoordinated checkpointing is in fact bounded by $<tmath>N(N+1)/2</tmath>$ checkpoints where $<tmath>N</tmath>$ is the number of processes.</p><p><it>Index Terms—</it>Fault tolerance, message-passing systems, uncoordinated checkpointing, rollback recovery, garbage collection.</p>