9. A computer readable storage medium comprising a computer readable program for static detection and categorization of information-flow downgraders, wherein the computer readable program when executed on a computer causes the computer to perform the steps of: transforming a program stored in a memory device by statically analyzing program variables to yield a single assignment to each variable in an instruction set; translating the instruction set to production rules with string operations; generating a context-free grammar from the production rules to identify a finite set of strings; and identifying an information-flow downgrader function by checking the finite set of strings against one or more function specifications, wherein the information-flow downgrader function downgrades input information by endorsing integrity and declassifying confidentiality of the input information to enable high input to flow to low program points.
9. A computer readable storage medium comprising a computer readable program for static detection and categorization of information-flow downgraders, wherein the computer readable program when executed on a computer causes the computer to perform the steps of: transforming a program stored in a memory device by statically analyzing program variables to yield a single assignment to each variable in an instruction set; translating the instruction set to production rules with string operations; generating a context-free grammar from the production rules to identify a finite set of strings; and identifying an information-flow downgrader function by checking the finite set of strings against one or more function specifications, wherein the information-flow downgrader function downgrades input information by endorsing integrity and declassifying confidentiality of the input information to enable high input to flow to low program points. 11. The computer readable storage medium as recited in claim 9 , wherein the one or more functions include a security-sensitive function in the program.