US 12,236,262 B1
Machine learning technique for efficiently scheduling tasks for large-scale analysis of binary executables
Alexander Matrosov, Santa Monica, CA (US); Sam Lloyd Thomas, Birmingham (GB); Yegor Vasilenko, Cambridge (GB); and Lukas Seidel, Berlin (DE)
Assigned to Binarly Inc, Santa Monica, CA (US)
Filed by Binarly Inc, Santa Monica, CA (US)
Filed on Oct. 2, 2024, as Appl. No. 18/905,078.
Int. Cl. G06F 9/48 (2006.01); G06F 8/75 (2018.01); G06F 9/50 (2006.01)
CPC G06F 9/485 (2013.01) [G06F 8/75 (2013.01); G06F 9/5016 (2013.01)] 22 Claims
OG exemplary drawing
 
1. A method for implementation by one or more computing devices comprising:
receiving a software package for analysis;
extracting or deriving features from the software package;
determining, by inputting the features into a machine learning model, an estimated peak memory usage required to analyze the software package, the machine learning model being trained using a dataset generated by monitoring memory usage when analyzing a plurality of different software packages;
determining a number of memory resource units required for the determined peak memory usage;
queuing the software package in a backoff queue when a number of available memory resource units does not exceed the determined number of required memory resource units;
allocating the determined required memory resource units to analyze the software package when a number of available memory resource units equals or exceeds the determined number of required memory resource units; and
analyzing the software package using the allocated memory units.