1. A method of testing an application after changes to any of a plurality of modules forming said application, said method comprising: receiving an indication that a set of modules have changed, wherein said set of modules is contained in said plurality of modules; determining a final set of modules by static analysis of said plurality of modules, said final set of modules including said changed set of modules and a referencing set of modules of said plurality of modules, wherein each module of said referencing set of modules references at least one of said changed set of modules either as immediate reference or multi-level reference through other modules, said final set of modules not including any module by virtue of being referenced by any of said changed set of modules, wherein said application contains a first module which is immediately referenced by one of said changed set of modules, wherein said determining does not include said first module in said referencing set of modules; identifying a set of test cases to cover testing of all of said final set of modules, wherein said identifying includes a test case in said set of test cases only if the test case operates to test at least one of said final set of modules such that said set of test cases is a minimal set that covers testing of all of said final set of modules; and running said set of test cases with said changed set of modules merged into said plurality of modules, wherein said determining by said static analysis comprises: generating a reference data by inspecting the instructions forming said plurality of modules, wherein said reference data specifies for each module a corresponding set of modules contained in said plurality of modules that are referenced by said module; finding, in response to said receiving, said referencing set of modules by examining said reference data; and adding said referencing set of modules to said changed set of modules to create said final set of modules.