Method, system, and program for converting application program code to executable code using neural networks based on characteristics of the inputs
First Claim
Patent Images
1. A method for generating a compiler to map application program code to object code capable of being executed on an operating system platform, comprising:
- determining attributes of the application program from information on the application program;
training a first neural network module to generate characteristic output based on input information comprising the determined attributes of the application program;
training a second neural network module to receive as input the application program code and the characteristic output and, in response, generate object code; and
using the first and second neural network modules to convert the application program code to object code.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided is a compiler to map application program code to object code capable of being executed on an operating system platform. A first neural network module is trained to generate characteristic output based on input information describing attributes of the application program. A second neural network module is trained to receive as input the application program code and the characteristic output and, in response, generate object code. The first and second neural network modules are used to convert the application program code to object code.
-
Citations
39 Claims
-
1. A method for generating a compiler to map application program code to object code capable of being executed on an operating system platform, comprising:
-
determining attributes of the application program from information on the application program;
training a first neural network module to generate characteristic output based on input information comprising the determined attributes of the application program;
training a second neural network module to receive as input the application program code and the characteristic output and, in response, generate object code; and
using the first and second neural network modules to convert the application program code to object code. - View Dependent Claims (2, 3, 4, 5, 6, 7)
training the first neural network component to map the application program code to a unique representation of the application program code; and
training the second neural network component to generate executable code from the unique representation of the application program code and the characteristic output.
-
-
4. The method of claim 3, wherein the first neural network module comprises a plurality of component neural networks, wherein training the component neural networks of the first module comprises:
-
parsing the application program code into a plurality of input vectors; and
assigning each input vector to one of the component neural networks of the first module, wherein each of the component neural networks of the first module are trained to convert the assigned input vector to an output vector, wherein the combination of the output vectors from each component neural network forms a unique representation of the application code.
-
-
5. The method of claim 4, wherein the application program code comprises a Java Applet bytecode implementing a Java Applet class, and wherein parsing the application program into a plurality of input vectors, comprises parsing the application program code into categories based on the bytecode class file format, wherein each input vector includes bits from the bytecode that comprise one of the categories.
-
6. The method of claim 3, wherein the second neural network component comprises a recurrent neural network, and wherein training the second neural network component comprises performing iterations inputting the unique representation of the application program code and the characteristic output to the second neural network component to generate the object code, wherein the generated object code is fed back into the second neural network component until the second neural network component is capable of mapping the unique representation of the code set to the object code with a minimal amount of error in the mapping.
-
7. The method of claim 1, wherein the characteristic output categorizes the application program as one of a plurality of application category types.
-
8. A method for generating a compiler to map application program code to object code capable of being executed on an operating system platform, comprising:
-
training a first neural network module comprising a plurality of characterization neural networks;
(i) determining attribute information of the application program code; and
(ii) transmitting the attribute information to each characterization neural network to determine an application type to which the application program is capable of belonging, wherein the characteristic output indicates the application type for the application program training a second neural network module to receive as input the application program code and the characteristic output and, in response, generate object code; and
using the first and second neural network modules to convert the application program code to object code. - View Dependent Claims (9, 10, 11, 12, 13, 17)
parsing the application program code into a plurality of input vectors;
assigning each input vector to one of the neural networks of the second neural network component;
converting, with each of the neural networks in the second neural network component, the assigned input vector to an output vector; and
combining the output vectors to form a unique representation of the code set.
-
-
14. A method for mapping application program code to object code capable of being executed on an operating system platform, comprising:
-
determining attributes of the application program from information on the application program;
receiving the application program code with a first neural network module;
generating, with the first neural network module, characteristic output based on input information comprising the determined attributes of the application program; and
receiving, with a second neural network module, the application program code and the characteristic output and generating therefrom the object code. - View Dependent Claims (15, 16, 18)
mapping, with the first neural network component, the application program code to a unique representation of the application program code; and
generating, with the second neural network component, an executable code from the unique representation of the application program code and the characteristic output.
-
-
16. The method of claim 15, wherein the first neural network module comprises a plurality of characterization neural networks, and wherein generating the characteristic output comprises:
-
determining attribute information of the application program code; and
transmitting the attribute information to each characterization neural network to determine an application type to which the application program belongs.
-
-
18. The method of claim 14, wherein the characteristic output categorizes the application program as one of a plurality of application category types.
-
19. A system for mapping application program code to object code capable of being executed on an operating system platform, comprising:
-
(a) a first neural network module including logic that performs;
(i) receiving the application program code;
(ii) determining attributes of the application program from information on the application program;
(iii) generating characteristic output based on input information comprising the determined attributes of the application program; and
(b) a second neural network module including logic that performs;
(i) receiving the application program code and the characteristic output; and
(ii) generating from the received application program code and the characteristic output the object code. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
a first neural network component including logic mapping the application program code to a unique representation of the application program code; and
a second neural network component including the logic generating the object code from the unique representation of the application program code and the characteristic output.
-
-
21. The system of claim 20, wherein the second neural network component further comprises:
-
a plurality of neural networks; and
wherein the logic for converting the application program code to the unique representation performs;
(i) parsing the application program code into a plurality of input vectors;
(ii) assigning each input vector to one of the neural networks of the second neural network component;
(iii) converting, with each of the neural networks in the second neural network component, the assigned input vector to an output vector; and
(iv) combining the output vectors to form a unique representation of the code set.
-
-
22. The system of claim 20, wherein the first neural network module further comprises:
-
a plurality of characterization neural networks; and
wherein the logic for generating the characteristic output comprises;
(i) determining attribute information of the application program code; and
(ii) transmitting the attribute information to each characterization neural network to determine an application type to which the application program belongs.
-
-
23. The system of claim 22, wherein the application types to which the application program is capable of belonging includes at least one of a business type, scientific type, audio type, graphics type, and security type.
-
24. The system of claim 22, wherein the attribute information for the application program includes at least one of a request time, security level, the operating system platform type, descriptive terms describing aspects of the application program, and the system user profile.
-
25. The system of claim 22, wherein the characteristic output indicates a likelihood that the application program is each of a set of application types.
-
26. The system of claim 19, wherein the neural network modules are implemented in a software program.
-
27. The system of claim 26, wherein the software program is implemented in a Java Just-In-Time Compiler component of a Java Virtual Machine.
-
28. The system of claim 19, wherein the neural network modules are implemented in at least one integrated circuit device.
-
29. The system of claim 19, wherein the characteristic output categorizes the application program as one of a plurality of application category types.
-
30. An article of manufacture for generating a compiler to map application program code to object code capable of being executed on an operating system platform, wherein the article of manufacture includes training code capable of causing a processor to perform:
-
determining attributes of the application program information on the application program;
training a first neural network module to generate characteristic output based on input information comprising the determined attributes of the application program; and
training a second neural network module to receive as input the application program code and the characteristic output and, in response, generate object code. - View Dependent Claims (31, 32, 33, 34, 35)
training the first neural network component to map the application program code to a unique representation of the application program code; and
training the second neural network component to generate executable code from the unique representation of the application program code and the characteristic output.
-
-
32. The article of manufacture of claim 31, wherein the second neural network component comprises a recurrent neural network, and wherein training the second neural network component comprises performing iterations inputting the unique representation of the application program code and the characteristic output to the second neural network component to generate the object code, wherein the generated object code is fed back into the second neural network component until the second neural network component is capable of mapping the unique representation of the code set to the object code with a minimal amount of error in the mapping.
-
33. The article of manufacture of claim 30, wherein the first neural network module comprises a plurality of component neural networks, wherein the training code for training the first neural network module further performs:
-
parsing the application program code into a plurality of input vectors; and
assigning each input vector to one of the component neural networks, wherein each of the component neural networks are trained to convert the assigned input vector to an output vector, wherein the combination of the output vectors from each component neural network forms a unique representation of the application code.
-
-
34. The article of manufacture of claim 33, wherein the application program code comprises a Java Applet bytecode implementing a Java Applet class, and wherein parsing the application program into a plurality of input vectors, comprises parsing the application program code into categories based on the bytecode class file format, wherein each input vector includes bits from the bytecode that comprise one of the categories.
-
35. The article of manufacture of claim 30, wherein the characteristic output categorizes the application program as one of a plurality of application category types.
-
36. An article of manufacture for generating a compiler to map application program code to object code capable of being executed on an operating system platform, wherein the article of manufacture includes training code capable of causing a processor to perform:
-
training a first neural network module comprising a plurality of characterization neural networks by;
(i) determining attribute information of the application program code;
(ii) transmitting the attribute information to each characterization neural network to determine an application type to which the application program is capable of belonging, wherein the characteristic output indicates the application type for the application program; and
training a second neural network module to receive as input the application program code and the characteristic output and, in response, generate object code. - View Dependent Claims (37, 38, 39)
-
Specification