Object Code Plagiarism Detection via Binary Correlation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional plagiarism detection tools require source code for comparison, which is often proprietary and not readily available, making it difficult for companies to determine if their source code has been copied by competitors, especially when comparing object code.
Innovation Solution
A system and method for detecting copied program code by comparing source code with object code, using a code plagiarism detector that creates arrays from source and object code files, comparing strings and identifiers, and calculating a correlation score to indicate potential plagiarism, without needing extensive programming language-specific information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional plagiarism detection tools are used, then source code comparison is required, but source code is proprietary and not readily available
Solution Approach 1:
The patent uses object code (a copy of the compiled program) as a substitute for source code. The system compares object code files directly to detect plagiarism, eliminating the need to access or share proprietary source code while maintaining detection capability through binary-level analysis of the compiled code structures
Solution Approach 2:
The patent introduces object code as an intermediary representation between the original source code and the compiled executable. By analyzing the object code intermediate form, the system can detect plagiarism without requiring direct access to the proprietary source code, thus mediating between detection needs and IP protection requirements
2Reliability
If decompiling object code is used to compare source code, then plagiarism detection is possible, but the process is complex and requires extensive programming language-specific information
Solution Approach 1:
Instead of decompiling object code back to source code (the conventional approach), the patent inverts the approach by directly analyzing the object code in its compiled binary form. This eliminates the complex decompilation process and the need for programming language-specific information while maintaining plagiarism detection capability through direct binary comparison
Solution Approach 2:
The patent extracts and analyzes specific features directly from the object code binary structure, such as control flow graphs, data flow patterns, and structural characteristics. By taking out these essential structural elements for comparison, the system avoids the complex decompilation process while maintaining sufficient information for accurate plagiarism detection
3Reliability
If creating detailed block diagrams of control flow is used, then code comparison is possible, but the diagrams are extremely complex and time consuming to compare
Solution Approach 1:
The patent segments the object code analysis into distinct comparable elements such as control flow blocks, data flow segments, and structural units. By dividing the complex code into manageable segments that can be systematically compared, the system reduces the time and complexity of analysis while maintaining comprehensive comparison coverage
Solution Approach 2:
The patent changes the parameters of code representation from detailed textual source code to condensed binary object code features. By transforming the comparison basis from full source code text to extracted binary structural parameters, the system achieves accurate comparison with significantly reduced time and complexity requirements
Data Source
AI summary
Methods and systems for detecting copied program code are described. The detection may be performed by comparing source code of a first program to object code of a second program. Alternatively, the detection may be performed by comparing object code of a first program to object code of a second program.


