Interprocedural side-effect analysis is performed by constructing a
fixed-point problem graph for each translation unit of a software program
having a plurality of separately compilable components. The method
performs analyzing each routine, of a software program having a plurality
of separately compilable routines, to create a plurality of local
side-effect problems for each routine; and merging the local side-effect
problems to create a global side-effect problem.