Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A system comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, perform operations comprising: receiving a location for a first source code file, determining that the received location is a restricted location, creating, in response to the determining, a temporary index of normalized statements for the first source code file, comparing the temporary index of normalized statements for the first source code file having the restricted location and a pre-calculated index of normalized statements for second source code files stored in a protected code location to identify a number of code clones in the first source code file, determining whether the number of identified code clones in the first source code file meets a threshold, and generating data used to alert a user that the restricted location contains code clones when it is determined that the number of identified code clones meets the threshold.
A system detects and prevents unauthorized use of source code. It has a processor and memory with instructions to: receive a location of a source code file, determine if it's a restricted location (e.g., an email attachment or a directory), create a temporary index of the normalized statements of the source code file, compare this temporary index to a pre-calculated index of normalized statements of protected source code, identify code clones (matching code snippets), determine if the number of clones exceeds a threshold, and alert the user if the threshold is exceeded, indicating the restricted location contains protected code.
2. The system of claim 1 , wherein the restricted location includes two or more source code files and the operation of determining whether the number of identified code clones meets the threshold includes: for a specific source code file, determining whether a number of code clones for the specific file meets the threshold.
Building upon the previous system description, this enhanced system handles multiple source code files in a restricted location. When determining if the number of identified code clones meets the threshold, the system determines whether the number of code clones in *each specific file* meets the threshold, enabling individual file analysis within a larger collection. The system examines each file separately to detect unauthorized source code.
3. The system of claim 2 , the operations further comprising: preventing the specific source code file from being copied when it is determined that the number of code clones for the specific file meets the threshold.
The system from the previous claim prevents the copying of a specific source code file when the number of code clones in that file exceeds the defined threshold. This prevents potentially infringing files from being distributed or copied. The system actively blocks the copying operation, enforcing source code protection measures.
4. The system of claim 1 , wherein the threshold is based on a length of at least one of the number of code clones.
In the source code protection system previously described, the threshold for determining if unauthorized code exists can be based on the length of the code clones detected. Instead of a simple count, the severity can be determined by the amount of copied source code found.
5. The system of claim 1 , wherein the restricted location includes two or more source code files and the operation of determining whether the number of identified code clones meets the threshold includes: for each of the two or more source code files, determining a number of code clones for each file; calculating an average number of code clones per file; and determining whether the average number of code clones meets the threshold.
When the restricted location contains multiple source code files, the system calculates the average number of code clones per file to determine if the threshold is met. This is an alternative to evaluating each file individually. For example, a higher than average number of clones per file could trigger the alert, even if no single file exceeds the threshold on its own.
6. The system of claim 1 , wherein the restricted location is an attachment location for an e-mail message, and the first source code file is the attachment.
The restricted location monitored by the system is an attachment to an email message. The system scans the attached source code file for unauthorized clones of protected code. This ensures that confidential source code isn't inadvertently or intentionally sent via email.
7. The system of claim 6 , the operations further comprising: preventing the first source code file from being sent with the e-mail message when it is determined that the number of identified code clones meets the threshold.
If the source code attached to an email contains too many code clones (as determined by the threshold), the system prevents the email from being sent. This ensures that protected source code is not distributed via email. The system proactively stops the transmission.
8. The system of claim 1 , wherein the restricted location is a source location in a request to copy files from the source location to a destination location.
The restricted location monitored by the system is the source location in a request to copy files. The system checks for code clones before the files are copied from their original location. This means that if a user attempts to copy files with unauthorized code, the system can intervene.
9. The system of claim 8 , the operations further comprising: preventing the copying of at least one of the source code files when it is determined that the number of identified code clones meets the threshold.
The system from the previous claim prevents the copying of one or more source code files from a source location to a destination location if the number of clones exceeds the threshold. This actively restricts the movement of files containing protected code.
10. The system of claim 1 , wherein the restricted location is a destination location in a request to copy files from a source location to the destination location and the operations further comprise: preventing the copying of the first source code file to the destination location when it is determined that the number of identified code clones meets the threshold.
The system monitors the *destination* location of a file copy request. If the system determines that a file to be copied contains too many unauthorized clones of protected code, it prevents the copy operation to the destination location. This prevents the introduction of non-compliant code into a new environment.
11. The system of claim 10 , wherein the destination location is a directory associated with a remote data center.
The destination location where the system prevents copying is a directory associated with a remote data center. This prevents unauthorized source code from being deployed to remote servers or cloud environments.
12. The system of claim 10 , wherein the destination location is a location for an attachment to be sent via e-mail.
The destination location where the system prevents copying is a location for an email attachment. This extends the protection to include not only the sending of unauthorized code but also the act of receiving it.
13. The system of claim 1 , wherein the restricted location is a directory on a mobile computing device.
The restricted location that the system monitors is a directory on a mobile computing device. This enables source code protection on smartphones, tablets, and other portable devices.
14. The system of claim 13 , wherein the data used to alert the user indicates that the mobile device contains portions of source code from the protected code location.
When the system detects unauthorized code clones on a mobile device, the alert specifically indicates that the mobile device contains portions of protected source code. This provides a clear and informative message to the user.
15. The system of claim 13 , wherein the operation of receiving the location is performed in response to the mobile device connecting to a computing device with access to the protected code location.
The system starts checking a mobile device for unauthorized code only when the device connects to a computing device that has access to the protected code location. This avoids constantly scanning the mobile device and conserves battery life. The process is triggered by network connectivity.
16. A computer-readable storage device for detecting non-compliant use of portions of source code, the storage device having recorded and embodied thereon instructions that, when executed by one or more processors of a computer system, cause the computer system to: receive a location of one more source code files; determine that the location is a restricted location; create, in response to the receiving, a temporary index of tokenized statements for each of the one or more source code files; compare the temporary index for one or more source code files having the restricted location and a pre-calculated index of tokenized statements from source code files stored in a protected code location to identify a number of code clones in the one or more source code files; determine whether the number of identified code clones meets a threshold; and generate data used to alert a user that the restricted location contains code clones when it is determined that the number of identified code clones meets the threshold.
A computer-readable storage device (like a hard drive or flash drive) contains instructions to detect unauthorized source code use. When a computer runs these instructions, it receives a location of source code files, determines if it is a restricted location, creates a temporary index of tokenized statements (normalized code representation), compares this index to a pre-calculated index of protected source code, identifies code clones, determines if the number of clones meets a threshold, and alerts the user if unauthorized code is found.
17. The storage device of claim 16 , wherein as part of determining whether the number of identified code clones meets the threshold, the instructions further cause the computer system to, for a specific source code file having the restricted location: determine a percentage of the specific source code file that contains code clones; and determine whether the percentage meets the threshold.
The storage device in the previous claim, as part of determining if the threshold is met, calculates the percentage of a specific source code file containing code clones. Then it determines if *that percentage* meets the overall threshold for non-compliance. This means the threshold represents percentage, not just number of instances.
18. The storage device of claim 16 , wherein the restricted location is a source location from a request to copy the one or more source code files from the source location to the protected code location and the instructions further cause the computer system to: prevent the one or more source code files from being added to the protected code location when it is determined that the number of identified code clones meets the threshold.
The storage device described earlier monitors a source location from which files are being copied *to* the protected code location. If too many code clones are found, the system prevents those files from being added to the protected repository. This prevents the protected repository from being contaminated.
19. The storage device of claim 16 , wherein the location is the location of a destination directory in a request to copy files from a source directory to the destination directory.
The location monitored by the storage device is the destination directory in a copy operation. The instructions identify whether this location is suitable based on cloned code found in the process.
20. The storage device of claim 19 , wherein the instructions further cause the computer system to: prevent the copying of one or more portions of the at least one of the source code files when it is determined that the number of identified code clones meets the threshold.
The storage device from the previous claim prevents specific portions of source code files from being copied to the destination when the number of clones exceeds the threshold. This allows granular control over what gets copied, rather than blocking the entire file.
21. The storage device of claim 16 , wherein the restricted location is an attachment to an email and the instructions further cause the computer system to: prevent the sending of the one or more source code files as the attachment to the email.
The restricted location monitored by the storage device is an attachment to an email. The instructions on the storage device prevent the sending of the source code file as an email attachment, preventing potential unauthorized distribution.
22. The storage device of claim 16 , wherein a code clone includes a sequence of normalized statements from the temporary index that match a sequence of normalized statements from the pre-calculated index.
A code clone, as used by the storage device, is defined as a sequence of normalized statements from the temporary index that match a sequence of normalized statements from the pre-calculated index of protected code. This specifies how the system identifies duplicated code.
23. A computer-implemented method comprising: receiving, by one or more processors, a request to copy portions of one or more source code files from a source location to a destination location; identifying a number of code clones between the one or more source code files and source code from a protected code location; determining whether the number of identified code clones meets a threshold; determining whether the destination location is authorized to contain source code from the protected code location; and preventing one or more portions of the source code files from being copied from the source location to the destination location when it is determined that the number of identified clones meets the threshold and that the destination location is not authorized to contain source code from the protected code location.
This invention relates to software development and intellectual property protection, specifically addressing unauthorized copying of source code that may contain proprietary or protected code segments. The method detects potential code duplication between source files being copied and protected code repositories, preventing unauthorized transfers. When a request is made to copy portions of source code files from a source location to a destination, the system analyzes the code to identify instances of cloned or duplicated segments between the source files and protected code repositories. If the number of detected clones exceeds a predefined threshold and the destination location is not authorized to receive such code, the system blocks the copy operation. This ensures that proprietary or restricted code is not inadvertently or maliciously transferred to unauthorized locations, safeguarding intellectual property. The method integrates with software development workflows to enforce access controls and prevent unauthorized code propagation.
24. The method of claim 23 , wherein the source location is associated with a first data center and the destination location is associated with a second data center.
In the source code compliance method, the source location is associated with one data center, and the destination location is associated with a second data center. This focuses the compliance check on transfers between separate organizational entities.
25. The method of claim 24 , wherein determining whether the destination location is authorized is based on a geographical location of the second data center.
The authorization check for the destination data center in the prior method is based on the geographical location of the second data center. This could mean copying between countries, regions, or jurisdictions.
26. The method of claim 23 , wherein the destination location is associated with a portable, removable, storage device.
The destination location in the source code compliance method is a portable, removable storage device. This provides protection for potentially insecure storage mediums to prevent unauthorized source code sharing on flash drives, external hard drives, or similar devices.
Unknown
August 26, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.