Source Code Plagiarism Detection via Design Pattern Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing source code plagiarism detection methods fail to identify plagiarized code when it is split across multiple files or modified in format, missing potential plagiarism instances due to threshold percentage limitations and inability to detect pattern-based copying.
Innovation Solution
A method and system for source code plagiarism evaluation in object-oriented programs based on design patterns, which involves receiving source code files, determining the presence of design patterns, evaluating plagiarism values, categorizing files with matching patterns, and analyzing these values to detect plagiarism, even if the copied code is split or modified.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If threshold percentage method is used for plagiarism detection, then simple comparison can be performed, but plagiarism cases where copied code is split across files or modified in format cannot be detected
Solution Approach 1:
The patent segments the plagiarism detection process into multiple stages: first extracting design patterns from source code, then comparing pattern structures rather than raw code text. This segmentation allows the system to handle split and modified code by focusing on the underlying pattern architecture rather than surface-level syntax, thereby resolving the contradiction between simple comparison and accurate detection.
Solution Approach 2:
The patent introduces design patterns as an intermediary layer between the source code and the comparison process. Instead of directly comparing source code files, the system extracts and compares design pattern instances, which serve as a mediator that reveals the structural similarity even when code is split across files or modified in format. This intermediary approach maintains detection accuracy while preserving system simplicity.
2Reliability
If design pattern based analysis is implemented, then split and modified plagiarized code can be detected, but system complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-defining a database of design patterns and their structural characteristics before the plagiarism detection process. This pre-prepared knowledge base allows the system to quickly match and compare pattern structures without performing complex real-time analysis, thereby reducing system complexity while maintaining high detection accuracy for split and modified code.
Solution Approach 2:
The patent changes the detection parameters from text-based string matching to structure-based pattern matching. By transforming the comparison criterion from surface-level code text to underlying design pattern architecture, the system achieves higher accuracy for modified and split code without proportionally increasing complexity, as the pattern matching operates on standardized structural representations.
Data Source
AI summary
A technique for source code plagiarism evaluation is disclosed. Program source code files of the object orientated program are received. Class data of the program source code files are determined to comprise of at least a block of one or more design patterns wherein the one or more design patterns are stored in a database. A plagiarism value is evaluated for each of the program source code files wherein the class data of the program source code file matches with class data of an original program source code file. Program source code files wherein the class data of each of the program source code files comprises of the block of the same design pattern are categorized and the plagiarism value of the categorized program source code files are analyzed.


