Interprocedural side-effect analysis in linear time | Synapse