Patent ID: 7971193

Claim:
A computer-implemented method for detecting program bugs in source code of a computer program that includes a plurality of source modules, each of said plurality of source modules including at least a set of subroutines, comprising: performing summary collection on subroutines of said plurality of source modules, said performing said summary collection including collecting first data pertaining to at least untrusted data in each of said subroutines of said plurality of source modules, said summary collection including building at least one assignment graph from said first data and building at least one transfer function from said assignment graph; storing said first data in a set of intermediate files; and performing interprocedural analysis on said set of intermediate files, said interprocedural analysis being configured to identify at least first untrusted data in a given subroutine of said subroutines of said plurality of source modules and to map a data flow tracking said first untrusted data across at least two of said plurality of source modules.