Object Code Plagiarism Detection via Binary Correlation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveplagiarism detection accuracyVSAvoidsource code availability
Core Design Contradiction:
ReliabilityVSEase of operation

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

Inventive Principle:
Principle #26Copying

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveplagiarism detection capabilityVSAvoiddecompiling process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #13The other way round (Inversion)

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvecode comparison accuracyVSAvoidcomparison time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8255885B2Detecting copied computer source code by examining computer object code
Publication Date: 2012.08.28 SAFE IP LLC
  • US8255885B2 patent drawing
  • US8255885B2 patent drawing
  • US8255885B2 patent drawing

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.