Producing Robust Programs