主权项 |
1. A method for obfuscating denotational logic in a source program, the method comprising:
receiving, by a computer, a non-rule-based source program; transforming, by the computer, the non-rule-based source program into a rule-based source program that includes an object model and a ruleset; characterizing, by the computer, attribute domains of the rule-based source program by a structure of their respective values, wherein the structure of the values is one of: nominal, ordered, interval, and ratio; calculating, by the computer, a minimum cardinality for each domain attribute using static analysis of the ruleset and the object model; mapping, by the computer, one or more first domain ranges to one or more second domain ranges, respectively, wherein each second domain range has the same value structure and same or higher cardinality as the corresponding first domain range; and for the ruleset in the rule-based source program in which an input field is in one of the one or more first domains, replacing, in the ruleset, the input field with the respective input field from the respective second domain, and replacing each input field value with the corresponding mapped second field value. |