Automatic extraction of sensitive code fragments to be executed in a sandbox
First Claim
1. A computer implemented method of refactoring a source code that includes a plurality of references to sensitive data into at least two separate source codes, comprising:
- receiving a source code comprising a plurality of references to sensitive data;
identifying a plurality of code blocks comprising said plurality of references, one or more of said plurality of code blocks is identified in said source code by assigning a weighting factor to words in a source code according to a list of sensitive data terms and by extracting words from compound phrases in source code according to at least one rule or coding standard of a member of a group consisting of;
a camel case, an underscore separation, a compound name, and a programming language naming convention;
using an information retrieval algorithm to identify synonyms to words or phrases in said source code and assigning said weighting factor to said synonyms according to said list of sensitive data;
refactoring said source code into an enterprise source code having a plurality of functions containing said plurality of code blocks and a cloud source code that is semantically equivalent when executed to said source code when executed; and
replacing within said cloud source code at least one of said plurality of code blocks with a call to a function within said enterprise source code, said function containing at least one code block semantically identical to said at least one replaced code block.
2 Assignments
0 Petitions
Accused Products
Abstract
According to an aspect of some embodiments of the present invention there is provided a computer implemented method of refactoring a source code that includes a plurality of references to sensitive data into at least two separate source codes, comprising receiving a source code comprising a plurality of references to sensitive data, identifying a plurality of code blocks comprising the plurality of references, refactoring the source code into an enterprise source code having a plurality of functions containing the plurality of code blocks and a cloud source code that is semantically equivalent when executed to the source code when executed, and replacing within the cloud source code at least one of the plurality of code blocks with a call to a function within the enterprise source code, the function containing a code block that is semantically identical to the replaced code block.
-
Citations
18 Claims
-
1. A computer implemented method of refactoring a source code that includes a plurality of references to sensitive data into at least two separate source codes, comprising:
-
receiving a source code comprising a plurality of references to sensitive data; identifying a plurality of code blocks comprising said plurality of references, one or more of said plurality of code blocks is identified in said source code by assigning a weighting factor to words in a source code according to a list of sensitive data terms and by extracting words from compound phrases in source code according to at least one rule or coding standard of a member of a group consisting of;
a camel case, an underscore separation, a compound name, and a programming language naming convention;using an information retrieval algorithm to identify synonyms to words or phrases in said source code and assigning said weighting factor to said synonyms according to said list of sensitive data; refactoring said source code into an enterprise source code having a plurality of functions containing said plurality of code blocks and a cloud source code that is semantically equivalent when executed to said source code when executed; and replacing within said cloud source code at least one of said plurality of code blocks with a call to a function within said enterprise source code, said function containing at least one code block semantically identical to said at least one replaced code block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for refactoring a source code into two separate source codes, comprising:
-
an interface for communicating with a user; one or more non-transitory computer-readable storage mediums; code instructions stored on at least one of said one or more storage mediums; one or more processors coupled to said interface and said program store for executing said code instructions, said code instructions comprising; code instructions for receiving a source code comprising a plurality of references to sensitive data, said source code is received according to a user input via said interface; code instructions for identifying a plurality of code blocks comprising said plurality of references in said source code, one or more of said plurality of code blocks is identified in said source code by assigning a weighting factor to words in a source code according to a list of sensitive data terms and by extracting words from compound phrases in source code according to at least one rule or coding standard of a member of a group consisting of;
a camel case, an underscore separation, a compound name, and any programming language naming convention;code instructions for using an information retrieval algorithm to identify synonyms to words or phrases in said source code and assigning said weighting factor to said synonyms according to said list of sensitive data; code instructions for refactoring said source code into an enterprise source code having a plurality of functions containing said plurality of code blocks and a cloud source code that is semantically equivalent when executed to said source code when executed; and code instructions for replacing within said cloud source code at least one of said plurality of code blocks with a call to a function containing a corresponding code block located within said enterprise source code. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification