This paper describes an approach to providing software fault tolerance for future deep-space robotic National Aeronautics and Space Administration missions, which will require a high degree of autonomy supported by an enhanced on-board computational capability. We focus on introspection-based adaptive fault tolerance guided by the specific requirements of applications. Introspection supports monitoring of the program execution with the goal of identifying, locating, and analyzing errors. Fault tolerance assertions for the introspection system can be provided by the user, domain-specific knowledge, or via the results of static or dynamic program analysis. This work is part of an on-going project at the Jet Propulsion Laboratory in Pasadena, California. Copyright (C) 2011 John Wiley & Sons, Ltd.