Purely top-down software rebuilding