Software resiliency