2015
DOI: 10.1016/j.procs.2015.02.143
|View full text |Cite
|
Sign up to set email alerts
|

Plagiarism Detection for Java Programs without Source Codes

Abstract: This paper presents a novel dynamic analysis approach to software plagiarism detection. Such an approach is inherently more resilient to code obfuscation techniques such as renaming of program entities, reordering of statements, etc. We develop our technique in the context of a dynamic analysis and visualization system for Java, called JIVE, but the techniques are applicable to other object-oriented languages. Our analyses are based on the execution traces of Java programs (produced by JIVE), and our experimen… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0
1

Year Published

2016
2016
2023
2023

Publication Types

Select...
6
1
1

Relationship

0
8

Authors

Journals

citations
Cited by 18 publications
(8 citation statements)
references
References 15 publications
0
7
0
1
Order By: Relevance
“…Several special techniques address source code plagiarism. For example, [4] introduces plagiarism detection of source code by using execution traces of the final program, that is, method calls and key variables. An API-based control flow graph used in [9] to detect plagiarism represents a program as nodes (statements), with an edge between two nodes if there is a transition in the graph between the nodes.…”
Section: Related Workmentioning
confidence: 99%
“…Several special techniques address source code plagiarism. For example, [4] introduces plagiarism detection of source code by using execution traces of the final program, that is, method calls and key variables. An API-based control flow graph used in [9] to detect plagiarism represents a program as nodes (statements), with an edge between two nodes if there is a transition in the graph between the nodes.…”
Section: Related Workmentioning
confidence: 99%
“…There exist a diverse range of techniques that can be applied to identify behavioural similarity. For example, analysing the functional equivalence of a program [14,31], the use of data at runtime [32], identifying similar interactions with the execution environment [33], or identifying similar program logic [34,35]. Such approaches are based on the assumption that the behaviour of a program is a uniquely identifying feature, and that similar behaviours indicate similar programs.…”
Section: Background a Measuring Program Similaritymentioning
confidence: 99%
“…For example prior works have analysed: input-output relations [34], executed instruction sequences (i.e. execution traces) [38], stack usage patterns [39], heap structures [40], and API method call sequences [33,41]. However, these three analysed aspects are sufficient for representing behaviour for source code plagiarism detection.…”
Section: Behaviour For Academic Source Code Plagiarism Detectionmentioning
confidence: 99%
“…There are a diverse range of techniques applied to identify behavioural similarity. This can be by analysing the functional equivalence of a program [14,31], the use of data at runtime [32], identifying similar interactions with the execution environment [33], or identifying similar program logic [34,35]. Such approaches are based on the assumption that the behaviour of a program is a uniquely identifying feature, and that similar behaviours indicate similar programs.…”
Section: A Measuring Program Similaritymentioning
confidence: 99%