1. A method of integrating software systems comprising: identifying a scope of the integration based on a multi-level top-down approach; identifying faults in business rules that define software in the scope of the integration by applying generic depth-first search (DFS)-based techniques to the business rules; and modifying the business rules based on the identified faults.