US 11,940,900 B1
Determining and providing representations of program flow control
Bao Zhang, Beijing (CN); Jin Hong Fu, Beijing (CN); Peng Hui Jiang, Beijing (CN); Shi Chong Ma, Beijing (CN); He Huang, Beijing (CN); and Jia Yu, Beijing (CN)
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Sep. 28, 2022, as Appl. No. 17/936,233.
Int. Cl. G06F 9/44 (2018.01); G06F 9/455 (2018.01); G06F 9/46 (2006.01); G06F 11/32 (2006.01); G06F 11/36 (2006.01)
CPC G06F 11/3636 (2013.01) 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
monitoring execution of binary code of one or more programs on a computer system, the monitoring comprising monitoring manipulation of at least one call stack maintained by the computer system for the execution of the binary code;
based on the monitoring, determining at least one function call pattern and at least one branch pattern exhibited by the execution of the binary code;
obtaining binary code of a target program and identifying, from the binary code of the target program, and using the determined at least one function call pattern and at least one branch pattern, function calls and branches, relations between the function calls and branches, and function and variable names; and
providing a representation of program flow control of the target program using the identified function calls and branches, relations, and function and variable names.