STATIC ANALYZER INSTRUCTION GENERATION BASED ON ACTION OF EXTERNAL INITIALIZATION CODE DURING INITIALIZATION
The present disclosure provides an approach that receives an application code including an external initialization code component. The approach emulates the external initialization code component in a simulated local computing environment. The approach records, by a processing circuitry, an action by the external initialization code component to the application code during code initialization. In turn, the approach generates, based on the action, a set of instructions for a static analyzer to perform static analysis on the application code.
1 . A method comprising:
receiving an application code including an external initialization code component;
emulating the external initialization code component in a simulated local computing environment;
recording, by a processing circuitry, an action by the external initialization code component to the application code during code initialization; and
generating, based on the action, a set of instructions for a static analyzer to perform static analysis on the application code.
2 - 8 . (canceled)
9 . A non-transitory computer readable medium storing instructions that, when executed by a processing circuitry, cause the processing circuitry to:
receive an application code including an external initialization code component;
emulate the external initialization code component in a simulated local computing environment;
record, by the processing circuitry, an action by the external initialization code component to the application code during code initialization; and
generate, based on the action, a set of instructions for a static analyzer to perform static analysis on the application code.
10 - 12 . (canceled)
13 . A system comprising:
a memory; and
a processing circuitry, that is operatively coupled to the memory, to:
receive an application code including an external initialization code component;
emulate the external initialization code component in a simulated local computing environment;
record an action by the external initialization code component to the application code during code initialization; and
generate, based on the action, a set of instructions for a static analyzer to perform static analysis on the application code.
14 - 20 . (canceled)
21 . The method of claim 1 , wherein
the external initialization code component comprises dependency injection code that is part of an inversion of control (IoC) framework; and
the dependency injection code is configured to inject a service object into the application code during initialization.
22 . The method of claim 1 , wherein
the simulated local computing environment comprises a sandbox environment that isolates the application code; and
the sandbox environment is configured to replicate network settings and security policies of a cloud computing environment.
23 . The method of claim 1 , wherein
the action comprises a connection request to an external resource;
the external resource is at least one of a database, a web service, or a configuration file; and
when the external resource is the database, the action further comprises:
establishing a connection to the database; and
performing a query on the database.
24 . The method of claim 1 , wherein the action comprises an initialization of a configuration file that provides parameters for the application code.
25 . The method of claim 1 , wherein the generating the set of instructions further comprises:
creating at least one of bytecode or intermediate representation that incorporates the action and the application code.
26 . The method of claim 1 , wherein the recording the action further comprises:
logging a sequence of function calls and data exchanged during the code initialization.
27 . The method of claim 1 , further comprising:
generating a response to the action that simulates a behavior of an external resource corresponding to the external initialization code component.
28 . The non-transitory computer readable medium of claim 9 , wherein
the external initialization code component comprises dependency injection code that is part of an inversion of control (IoC) framework; and
the dependency injection code is configured to inject a service object into the application code during initialization.
29 . The non-transitory computer readable medium of claim 9 , wherein
the simulated local computing environment comprises a sandbox environment that isolates the application code; and
the sandbox environment is configured to replicate network settings and security policies of a cloud computing environment.
30 . The non-transitory computer readable medium of claim 9 , wherein
the action comprises a connection request to an external resource;
the external resource is at least one of a database, a web service, or a configuration file; and
when the external resource is the database, the action further comprises:
establishing a connection to the database; and
performing a query on the database.
31 . The system of claim 13 , wherein
the external initialization code component comprises dependency injection code that is part of an inversion of control (IoC) framework; and
the dependency injection code is configured to inject a service object into the application code during initialization.
32 . The system of claim 13 , wherein
the simulated local computing environment comprises a sandbox environment that isolates the application code; and
the sandbox environment is configured to replicate network settings and security policies of a cloud computing environment.
33 . The system of claim 13 , wherein
the action comprises a connection request to an external resource;
the external resource is at least one of a database, a web service, or a configuration file; and
when the external resource is the database, the action further comprises:
establishing a connection to the database; and
performing a query on the database.
34 . The system of claim 13 , wherein the action comprises an initialization of a configuration file that provides parameters for the application code.
35 . The system of claim 13 , wherein the processing circuitry is further to:
create at least one of bytecode or intermediate representation that incorporates the action and the application code.
36 . The system of claim 13 , wherein the processing circuitry is further to:
log a sequence of function calls and data exchanged during the code initialization.
37 . The system of claim 13 , wherein the processing circuitry is further to:
generate a response to the action that simulates a behavior of an external resource corresponding to the external initialization code component.