Patent ID: 8635602

Claim:
A processor-executed method, comprising: determining grammar for output of an information-flow downgrader in a software program, based at least in part on computer-readable instructions in the information-flow downgrader, the software program configured to direct the output of the information-flow downgrader to a sink, wherein determining grammar for output of an information-flow downgrader in a software program comprises translating instructions for the software program into production rules with program locations; in response to a determination of grammar for output of an information-flow downgrader in a software program, labeling the specified program locations; determining whether the grammar of the output conforms to at least one predetermined specification of the sink, wherein determining whether the grammar of the output conforms to at least one predetermined specification of the sink comprises determining the grammar of the output conforms to the at least one predetermined specification of the sink in response to all characters in the grammar being characters in a set of allowed characters specified for input to the sink; and in response to a determination the grammar of the output conforms to the at least one predetermined specification of the sink, determining the information-flow downgrader is verified for the sink, wherein determining grammar for output of an information-flow downgrader in a software program, determining whether the grammar of the output conforms to at least one predetermined specification of the sink, and determining the information-flow downgrader is verified for the sink are performed via static analysis of the software program.