US 12,223,061 B1
Methods and systems for analyzing dataflow associated with software code to detect software anomalies
Yanni Kouskoulas, Seattle, WA (US); Ada Lindberg, Knoxville, TN (US); Arion Lawrence, Vienna, VA (US); and Chris O'Ferrell, Burleson, TX (US)
Assigned to Affirm Logic Corporation, McLean, VA (US)
Filed by Affirm Logic Corporation, McLean, VA (US)
Filed on Feb. 28, 2024, as Appl. No. 18/590,781.
Int. Cl. G06F 21/57 (2013.01); G06F 9/445 (2018.01); G06F 21/56 (2013.01)
CPC G06F 21/577 (2013.01) [G06F 9/44589 (2013.01); G06F 21/563 (2013.01); G06F 2221/033 (2013.01)] 22 Claims
OG exemplary drawing
 
1. A non-transitory processor-readable medium storing code representing instructions to be executed by one or more processors, the instructions comprising code to cause the one or more processors to:
receive a file that includes executable binary code;
receive a machine-readable specification that defines a constraint;
generate a predicate set based on the executable binary code;
identify an argument of a function to be called by the executable binary code, the argument identified based on a map associated with the function;
generate a constrained predicate set based on the predicate set and the machine-readable specification;
determine, using solver software, that the argument satisfies the constraint based on the constrained predicate set; and
generate a signal (1) that indicates that the executable binary code is associated with a predetermined software action in response to determining the argument satisfies the constraint and (2) to prevent the executable binary code from being executed at a target processor that is different from the one or more processors.