Safety through Software