1. A computer-implemented method of integrating software systems, the method comprising: identifying, by a processor of a computer, the software systems that are to be integrated; identifying, by the a processor of the computer, a scope of the integration based on a multi-level top-down approach, where the multi-level top-down approach includes: a first level that includes the software systems, a second level that includes business processes of the software systems, a third level that includes business rules that are defined as transitions in the business processes, a fourth level that includes interface functions that define communications between the business rules, and a fifth level that includes data used by the business rules and the interface functions; identifying, by the processor of the computer, the business processes, associated with the software systems, that are to be integrated; identifying, by the processor of the computer, the business rules that are defined for each of the business processes that are to be integrated; identifying, by the processor of the computer, faults in the business rules by applying generic depth-first search (DFS)-based techniques to the business rules; and modifying, by the processor of the computer, the business rules based on the identified faults.