Academic Source Code Plagiarism Detection by Measuring Program Behavioral Similarity
Open accessAbstract
Source code plagiarism is a long-standing issue in tertiary computer science education. Many source code plagiarism detection tools have been proposed to aid in the detection of source code plagiarism. However, existing detection tools are not robust to pervasive plagiarism-hiding transformations, and as a result can be inaccurate in the detection of plagiarised source code. This article presents BPlag, a behavioural approach to source code plagiarism detection. BPlag applies symbolic execution to analyse execution behaviour and represent a program in a novel graph-based format. Plagiarism is then detected by comparing these graphs and evaluating similarity scores.
AI snapshot
Written from the paper’s full text.
TL;DR
BPlag detects source-code plagiarism by comparing runtime behaviour, using symbolic execution and graph-based representations rather than source structure. It is more robust and accurate than five common detectors under pervasive plagiarism-hiding transformations, but less efficient.
Key findings
- In robustness tests over 29 base programs and 13,050 generated variants, BPlag had the smallest average similarity drop across 20%, 40%, and 60% transformation chances; its drop stabilised at L4/L5 while compared tools continued to decline. It was vulnerable to L3 value-injecting transformations.
- In accuracy tests on 12 assignment sets with 12,000 generated variants, BPlag made the fewest errors; at a 40% transformation chance it had 17 cumulative errors versus 46 for the next closest tool, Sim. Adding lossy noise filtering and the overlap coefficient reduced errors, including 230 fewer at the 100% transformation chance.
- BPlag was the slowest tool: about 38 times slower than Sherlock-Sydney and nearly twice as slow as JPlag. On the largest collection of 170 programs it would take roughly 24 hours single-threaded, about 3 hours on an 8-core machine, and about 45 minutes for 100 submissions on an 8-core machine.
Methods
- BPlag uses a symbolic executor to record execution traces from Java abstract syntax trees, constructs Program Interaction Dependency Graphs (PIDGs) representing data and relations, arithmetic transformations, and API interactions, then compares PIDG sets with a heuristic graph-matching and similarity procedure.
- Evaluation used generated data from SPPlagiarise and compared BPlag against JPlag, Plaggie, Sim, Sherlock-Warwick, and Sherlock-Sydney; MOSS was excluded because it was unreliable as a web service. Experiment 1 used 29 base programs and 13,050 variants; Experiment 2 used 12 undergraduate assignment sets and 12,000 variants; Experiment 3 reused the 12 assignment sets.
- Robustness was measured as average similarity drop from each base program; accuracy was measured as error counts when separating plagiarised from innocent similarity scores; efficiency was measured as normalised average execution time per program pair.
Limitations
- Stated: the evaluation relies on generated rather than real plagiarism data; SPPlagiarise implements 19 transformations only up to L1–L5 and omits L6; BPlag is limited to Java; it is vulnerable to value-injecting transformations and functionally equivalent code; it is less efficient; the overlap-coefficient/noise-filtering accommodation is lossy and can produce false positives when one graph is a subset of another; results depend on the composition of the base programs.
- Stated: the approach is not intended to detect functional equivalence, because doing so would risk flagging all correct implementations of the same specification as plagiarised.
- Evident from the text: MOSS could not be included in the comparison, and the paper notes that no public ground-truth data set of real undergraduate plagiarism with labelled transformations exists; the authors also identify a graphical similarity-overview feature as future work rather than a current capability.
Model-written summary. Check it against the paper before relying on it.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
6 of 42 cited sources checked · 3 supported · 2 flagged · accuracy not yet measured
- Premisecitation
All source code plagiarism detection tools that are known to be available use only structural measures of similarity.
“Furthermore, all known available SCPDTs implement structural measures of similarity only.”
Quote in the paperSubstantial claim1 of 2 sources checked- cites [8] 8. V. T. Martins, D. Fonte, P. R. Henriques, and D. da Cruz, ''Plagiarism detection: A tool survey and comparison,'' in Proc. 3rd Symp. Lang., Appl. Technol., in OpenAccess Series in Informatics, vol. 38, M. J. V. Pereira, J. P. Leal, and A. Simões, Eds. Dagstuhl, Germany: Schloss Dagstuhl- Leibniz-Zentrum fuer Informatik, 2014, pp. 143-158. source
Section 2.2, “Approaches” (page unavailable), distinguishes attribute-based, token-based, and structure-based methods rather than saying all tools use structural measures only. It describes token-based tools that add some structure-dependent modifications; Section 4.4 identifies Marble as using token comparison. These passages contradict the claim’s “all” and “only.” (LLM, conf=0.90)
Checked by a reasoning model — may be wrong.
Experimental — accuracy not yet measured - cites [9] 9. M. Novak, M. Joy, and D. Kermek, ''Source-code similarity detection and detection tools used in academia: A systematic review,'' ACM Trans. Comput. Educ., vol. 19, no. 3, pp. 1-37, Jun. 2019. source
- Premisecitation
Every source code plagiarism detection tool proposed so far uses structural or semantic measures of similarity.
“All known proposed SCPDTs implement structural or semantic measures of similarity.”
Quote in the paperSubstantial claim1 of 2 sources checked- cites [8] 8. V. T. Martins, D. Fonte, P. R. Henriques, and D. da Cruz, ''Plagiarism detection: A tool survey and comparison,'' in Proc. 3rd Symp. Lang., Appl. Technol., in OpenAccess Series in Informatics, vol. 38, M. J. V. Pereira, J. P. Leal, and A. Simões, Eds. Dagstuhl, Germany: Schloss Dagstuhl- Leibniz-Zentrum fuer Informatik, 2014, pp. 143-158. source
Section 2.2 (page not supplied) describes attribute-based and token-based methods as well as structure-based methods. Its examples include comparisons using code size and token hashes, contradicting the claim that all proposed tools use structural or semantic similarity measures. (LLM, conf=0.87)
Checked by a reasoning model — may be wrong.
Experimental — accuracy not yet measured - cites [9] 9. M. Novak, M. Joy, and D. Kermek, ''Source-code similarity detection and detection tools used in academia: A systematic review,'' ACM Trans. Comput. Educ., vol. 19, no. 3, pp. 1-37, Jun. 2019. source
- Findingown data
BPlag is more accurate at detecting plagiarised source code than the five compared source code plagiarism detection tools.
“It is then shown that BPlag is more robust to plagiarism-hiding transformations and more accurate in the detection of plagiarised source code, but is less efficient than the compared tools.”
Quote in the paperSubstantial claim - Findingown data
BPlag is less efficient than the five compared source code plagiarism detection tools.
“It is then shown that BPlag is more robust to plagiarism-hiding transformations and more accurate in the detection of plagiarised source code, but is less efficient than the compared tools.”
Quote in the paperSubstantial claim - Findingown data
BPlag is more robust to plagiarism-hiding transformations than the five compared source code plagiarism detection tools.
“It is then shown that BPlag is more robust to plagiarism-hiding transformations and more accurate in the detection of plagiarised source code, but is less efficient than the compared tools.”
Quote in the paperSubstantial claim
- Findingown data
Starting with L3 transformations, tools suffer a sharp and noticeable decrease in measured similarity.
“However, starting with the application of L3 transformations, the tools suffer from a sharp and noticeable decrease in measured similarity.”
Quote in the paperSubstantial claim - Findingown data
At 20% transformation chance, BPlag is slightly more robust than all other tools.
“At this transformation chance, there is a negligible decrease in similarity, however, BPlag is slightly more robust than all other tools.”
Quote in the paperNot a substantial claim - Findingreasoning
At L3, certain transformations have a large impact on BPlag's similarity evaluation.
“This implies that at L3, certain transformations have a large impact on the similarity of the variants as evaluated by BPlag.”
Quote in the paperNot a substantial claim - Findingown data
As transformation chance increases, the average drop in similarity increases for each level of transformation.
“Firstly, as the chance of transformation increases, the average drop in similarity increases for each level of transformation.”
Quote in the paperNot a substantial claim - Findingown data
All tools show a sudden increase in average drop in similarity for variants constructed with L3 transformations.
“Secondly, all tools begin to show a sudden increase in the average drop in similarity for variants constructed with L3 transformations.”
Quote in the paperNot a substantial claim - Findingown data
For the five compared SCPDTs, the decrease in similarity continues at L4 and L5 transformations.
“For the five compared SCPDTs, this decrease continues at the L4 and L5 transformations.”
Quote in the paperNot a substantial claim - Findingown data
For all tools except BPlag, the drop in similarity continues with L4 and L5 transformations.
“For all tools but BPlag, this drop continues with the L4 and L5 transformations.”
Quote in the paperNot a substantial claim - Findingown data
At 40% transformation chance, for L1 and L2 variants, all tools except Sherlock-S and Sherlock-W demonstrate negligible decreases in similarity.
“For variants created with the L1 and L2 transformations, all tools (excluding Sherlock-S and Sherlock-W) demonstrate negligible decreases in similarity.”
Quote in the paperNot a substantial claim - Findingown data
Transformations applied to L4 and L5 variants do not impact BPlag.
“However, the transformations applied to the L4 and L5 variants do not impact upon BPlag.”
Quote in the paperSubstantial claim - Findingnone given
BPlag is vulnerable to value-injecting transformations.
“However, as identified, BPlag is vulnerable to value-injecting transformations.”
Quote in the paperSubstantial claim - Findingreasoning
Both transformations add new values represented in PIDGs.
“Both of these transformations result in the addition of new values represented in PIDGs.”
Quote in the paperSubstantial claim - Findingown data
For variants made with L3 transformations, all tools record a much larger average drop in similarity.
“However, for variants created with the L3 transformations, a much larger average drop in similarity is recorded for all tools.”
Quote in the paperNot a substantial claim - Findingown data
BPlag is vulnerable to specific L3 transformations.
“However, from the results, BPlag is vulnerable to specific L3 transformations.”
Quote in the paperSubstantial claim - Findingown data
At the 60% transformation chance, BPlag shows greater robustness to transformation.
“The 60% transformation chance provides clear evidence that BPlag has greater robustness to transformation.”
Quote in the paperSubstantial claim - Findingown data
As transformation chance increases, BPlag demonstrates progressively greater robustness, indicated by lower average similarity drop.
“As the chance of transformation increases, BPlag demonstrates progressively greater robustness to transformation, indicated by the lower average drop in similarity.”
Quote in the paperSubstantial claim - Findingreasoning
In this experiment, the noise appears as small value additions to PIDGs that cannot be mapped between two programs.
“In this experiment, the noise is manifested as small value additions to the PIDGs, that cannot otherwise be mapped between two programs.”
Quote in the paperNot a substantial claim - Findingown data
Variants created with value-injecting transformations have a much larger average drop in similarity than variants without them.
“It can be seen that there is a much larger average drop in similarity for variants created with value-injecting transformations, compared to those that do not contain valueinjecting transformations.”
Quote in the paperSubstantial claim - Findingnone given
The 12 assignment collections contained known cases of academic misconduct.
“Amongst the 12 collections of assignments, there are known cases of academic misconduct present.”
Quote in the paperSubstantial claim - Findingreasoning
Without value-injecting transformations, BPlag demonstrates much greater robustness to transformation.
“Without valueinjecting transformations, BPlag demonstrates much greater robustness to transformation.”
Quote in the paperSubstantial claim - Findingown data
The five compared tools show greater vulnerability to transformation at all levels and all transformation chances.
“The five compared tools show greater vulnerability to transformation at all levels of transformation, with all transformation chances.”
Quote in the paperSubstantial claim - Findingown data
BPlag consistently ranks lowest in average drop in similarity.
“This is opposed to BPlag that consistently ranks lowest in terms of the average drop in similarity.”
Quote in the paperSubstantial claim - Findingown data
Under the revised method, the average drop in similarity against L1 transformations is larger than against L2 transformations.
“For example, the average drop in similarity against L1 transformations is larger than the L2 transformations.”
Quote in the paperNot a substantial claim - Findingown data
For L3+ variants, there is a substantial reduction in similarity drop for variants created without value-injecting transformations.
“In all cases, for L3+ variants there is a substantial reduction in the drop of similarity for variants created without value-injecting transformations.”
Quote in the paperSubstantial claim - Findingown data
BPlag shows a sharp decrease in robustness to L3 transformations.
“However, BPlag shows a sharp decrease in robustness to L3 transformations.”
Quote in the paperSubstantial claim - Findingreasoning
The drop in similarity against L3 transformations is largely caused by two source transformations: declare redundant constants and assign default value to variable declaration.
“The drop in similarity against L3 transformations is largely caused by two specific source transformations: 'declare redundant constants', and 'assign default value to variable declaration'.”
Quote in the paperSubstantial claim - Findingown data
For variants made with L1 and L2 transformations, all tools except Sherlock-S and Sherlock-W show negligible decreases in similarity.
“Initially, for variants created with L1 and L2 transformations, all tools (excluding Sherlock-S and Sherlock-W) again show negligible decreases in similarity.”
Quote in the paperNot a substantial claim - Findingown data
In pilot evaluations, the heuristic's limitations (incorrect initial mapping, disconnected components without operators/API calls) have minimal impact on similarity evaluation.
“However, in pilot evaluations this has minimal impact on the evaluation of similarity.”
Quote in the paperNot a substantial claim - Findingown data
BPlag is much more accurate in the presence of pervasive plagiarism-hiding transformations.
“From the results, BPlag is much more accurate in the presence of pervasive plagiarism-hiding transformations.”
Quote in the paperSubstantial claim - Findingown data
This results in a lower error count at all levels of transformation and transformation chance combinations.
“Overall, this has resulted in a lower error count at all levels of transformation and transformation chance combinations.”
Quote in the paperSubstantial claim - Findingnone given
BPlag's results at the 100% transformation chance are more similar to the five compared tools' results at the 40% or 60% transformation chances.
“However, the results of BPlag at the 100% transformation chance are more similar to the five compared tools results at the 40% or 60% transformation chances.”
Quote in the paperNot a substantial claim - Findingreasoning
For a more reasonably sized data set of 100 submissions, BPlag would take approximately 45 minutes on an 8-core machine.
“Furthermore, if a more reasonably sized data set was analysed, (e.g. 100 submissions) it would take approximately 45 mins on an 8-core machine.”
Quote in the paperNot a substantial claim - Findingown data
Sim, JPlag, and Sherlock-W shuffle between second, third, and fourth place.
“This is followed by Sim, JPlag, and Sherlock-W that shuffle between second, third and fourth place.”
Quote in the paperNot a substantial claim - Findingreasoning
For L3+ transformations applied with higher transformation chances, this appears to have a significant impact on accuracy.
“For L3+ transformations applied with higher transformation chances (i.e. with transformations that are more pervasively applied), this appears to have a significant impact on accuracy.”
Quote in the paperNot a substantial claim - Findingown data
Including the modifications to accommodate value-injecting transformations significantly decreases BPlag's error counts at all transformation chances.
“However, by including the modifications to accommodate for value-injecting transformations, the error counts of BPlag are significantly decreased at all transformation chances, as shown in table 9.”
Quote in the paperSubstantial claim - Findingown data
BPlag is subject to a progressively smaller decrease in accuracy when exposed to L3+ transformations.
“Comparatively, BPlag is subject to a progressively smaller decrease in accuracy when exposed to L3+ transformations.”
Quote in the paperSubstantial claim - Findingown data
The compared tools saw progressively larger decreases in accuracy against L3+ transformations.
“Furthermore, the compared tools saw progressively larger decreases of accuracy against the L3+ transformations.”
Quote in the paperSubstantial claim - Findingown data
BPlag commits the fewest errors when detecting the simulated plagiarised variants.
“Hence, it commits the fewest errors when detecting the simulated plagiarised variants.”
Quote in the paperSubstantial claim - Findingown data
The evaluations rely on generated test data created with SPPlagiarise.
“The conducted evaluations rely on generated test data created with SPPlagiarise.”
Quote in the paperSubstantial claim - Findingreasoning
BPlag is not the most efficient SCPDT.
“From these results, BPlag is not the most efficient SCPDT.”
Quote in the paperNot a substantial claim - Findingown data
At 60%, 80%, and 100% transformation chances, error counts of all tools, including BPlag, continue to increase.
“At the 60%, 80% and 100% transformation chances, the error counts of all tools, including BPlag, continue to increase.”
Quote in the paperSubstantial claim - Findingown data
The SCPDTs generally see a small decrease in similarity against L1 and L2 transformations.
“The SCPDTs will generally see a small decrease in similarity against L1 and L2 transformations.”
Quote in the paperNot a substantial claim - Findingown data
At the 40% transformation chance, BPlag has cumulatively 17 errors over the five transformation levels.
“For example, at the 40% transformation chance, BPlag has cumulatively 17 errors over the five levels of transformation.”
Quote in the paperNot a substantial claim - Findingown data
At the 40% transformation chance, the next closest tool, Sim, has cumulatively 46 errors.
“This is compared to the next closest tool, Sim, that has cumulatively 46 errors recorded.”
Quote in the paperNot a substantial claim - Findingown data
BPlag experiences the least increase in errors among all tools.
“However, BPlag experiences the least increase in errors out of all the tools.”
Quote in the paperSubstantial claim - Findingreasoning
On a modern 8-core machine, BPlag would take approximately 3 hours on collection 1.
“On a modern 8-core machine, BPlag would take approximately 3 hrs to execute on collection 1.”
Quote in the paperNot a substantial claim - Findingown data
BPlag is the most accurate in detecting simulated plagiarism across the six compared SCPDTs.
“From the results in table 8, BPlag is shown to be the most accurate in detecting the simulated cases of plagiarism across the six compared SCPDTs.”
Quote in the paperSubstantial claim - Findingreasoning
BPlag shows vulnerability to transformations that modify program behaviour.
“However, the approach does show vulnerability to transformations that modify the behaviour of a program.”
Quote in the paperSubstantial claim - Findingown data
The revised approach produces an immediately noticeable decrease in error counts at all transformation chances.
“Overall, there is an immediately noticeable decrease in the error counts at all transformation chances.”
Quote in the paperSubstantial claim - Findingreasoning
All errors in this experiment result from submission pairs being incorrectly identified as plagiarised or innocent.
“All errors in this experiment result from submission pairs being incorrectly identified as plagiarised (for programs originally contained in the 12 data sets) or innocent (for the generated variants).”
Quote in the paperNot a substantial claim - Findingreasoning
On the largest data set (collection 1, 170 programs), BPlag would take approximately 24 hours single-threaded.
“If BPlag was running on the largest data set (collection 1, 170 programs), it would take approximately 24 hrs to run single-threaded.”
Quote in the paperNot a substantial claim - Findingreasoning
BPlag suffers a decrease in accuracy when detecting L3+ variants.
“However, BPlag does suffer a decrease in accuracy when detecting the L3+ variants.”
Quote in the paperNot a substantial claim - Findingown data
The efficiency order is Sherlock-S, then Sim, Plaggie, JPlag, Sherlock-W, and finally BPlag.
“This is followed by Sim, Plaggie, JPlag, Sherlock-W, and finally, BPlag.”
Quote in the paperNot a substantial claim - Findingown data
Sherlock-S is by far the most efficient tool on average.
“It can be seen that Sherlock-S is by far the most efficient tool on average.”
Quote in the paperNot a substantial claim - Findingown data
The most profound decrease is 230 errors at the 100% transformation chance.
“Most profound is the decrease of 230 errors at the 100% transformation chance.”
Quote in the paperNot a substantial claim - Findingown data
When tools are ranked by lowest cumulative errors, BPlag is consistently first.
“If the tools are ranked by lowest cumulative errors, BPlag is consistently first.”
Quote in the paperSubstantial claim - Findingreasoning
The evaluations showed that BPlag is relatively less efficient than the tools it was compared with.
“However, the evaluations have also shown that BPlag is comparatively less efficient.”
Quote in the paperSubstantial claim - Findingreasoning
In the evaluation, the existing SCPDTs that measure structural similarity were affected by every transformation, because the transformations alter source code structure.
“This was shown in the evaluation where the existing SCPDTs that measure structural similarity of source code are impacted by all transformations (as the transformations modify the source code structure).”
Quote in the paperSubstantial claim - Interpretationreasoning
If a detection tool is not robust and examines features altered by plagiarism-hiding transformations, it may assign too little similarity and produce false negatives.
“Conversely, if a SCPDT is not robust to plagiarism-hiding transformations, and analyses aspects of source code that change due to plagiarismhiding transformations, a SCPDT may become too reserved in measuring similarity.This can result in the tool failing to measure a high enough similarity to indicate plagiarism (a false negative).”
Quote in the paperSubstantial claim - Premisecitation
A source code plagiarism detection tool can become robust to plagiarism-hiding transformations by disregarding source code features that plagiarisers often change.
“A SCPDT can gain robustness to plagiarism-hiding transformations by ignoring aspects of source code that plagiarisers commonly modify (e.g.ignoring comments or identifiers in source code [11]).”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [11] 11. L. Prechelt, G. Malpohl, and M. Philippsen, ''Finding plagiarisms among a set of programs with JPlag,'' J-JUCS, vol. 8, no. 11, pp. 1016-1038, Nov. 2002.
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Interpretationreasoning
If a detection tool disregards too many program features, it may assign higher similarity to unrelated works and produce false positives.
“However, if a SCPDT ignores too many aspects of a program, the SCPDT may measure greater similarity between unrelated works.This can result in the SCPDT being inaccurate by indicating unrelated works as being plagiarised (a false positive).”
Quote in the paperSubstantial claim - Premisecitation
Pervasive plagiarism-hiding transformations can severely impair a detection tool's ability to measure similarity.
“Such transformations can greatly impact upon the ability of SCPDTs to measure similarity.”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [12] 12. H. Cheers, Y. Lin, and S. P. Smith, ''Detecting pervasive source code plagiarism through dynamic program behaviours,'' in Proc. 22nd Aus- tralas. Comput. Educ. Conf. (ACE). New York, NY, USA: Association for Computing Machinery, 2020, pp. 21-30. source
- Premisecitation
Plagiarism-hiding transformations are usually cosmetic: they alter source code appearance and structure while preserving the original program's behaviour.
“Such source code transformations are typically cosmetic in nature, in that they change the appearance and structure of the source code [6], [7], [10], but retain the original behaviour of the plagiarised assignment.”
Quote in the paperSubstantial claim0 of 3 sources checked- cites [6] 6. A. Parker and J. O. Hamblen, ''Computer algorithms for plagiarism detec- tion,'' IEEE Trans. Educ., vol. 32, no. 2, pp. 94-99, May 1989. source
- cites [7] 7. M. Joy and M. Luck, ''Plagiarism in programming assignments,'' IEEE Trans. Educ., vol. 42, no. 2, pp. 129-133, May 1999. source
- cites [10] 10. J. A. W. Faidhi and S. K. Robinson, ''An empirical approach for detecting program similarity and plagiarism within a university programming envi- ronment,'' Comput. Educ., vol. 11, no. 1, pp. 11-19, Jan. 1987. source
- Interpretationreasoning
To change execution behaviour while retaining input-output relations, a plagiariser would need a different data model, a different data transformation process, and different execution environment interactions.
“This means a plagiariser would have to transform the implementation of a programs execution behaviour such that it uses a different data model, different process of transforming data, and different interactions with the execution environment; while retaining the original input-output relations.”
Quote in the paperSubstantial claim - Interpretationreasoning
With symbolic execution, BPlag can analyse any valid Java program without user-provided test inputs.
“Hence, with symbolic execution, BPlag can analyse any valid Java program without user-provided test inputs.”
Quote in the paperSubstantial claim - Interpretationreasoning
Functional equivalence is unsuitable for source code plagiarism detection because it would treat all correctly implemented submissions as identical.
“Therefore, comparing the behaviour of a program with functional equivalence is not suitable in source code plagiarism detection, as it would result in all correctly implemented submissions being detected as identical.”
Quote in the paperSubstantial claim - Premisecitation
When a plagiarised work has been pervasively transformed, detection tools can report similarity too low to raise suspicion.
“Subsequently, when a plagiarised work is pervasively transformed, SCPDTs can report a low enough similarity that it does not raise suspicion of plagiarism [12].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [12] 12. H. Cheers, Y. Lin, and S. P. Smith, ''Detecting pervasive source code plagiarism through dynamic program behaviours,'' in Proc. 22nd Aus- tralas. Comput. Educ. Conf. (ACE). New York, NY, USA: Association for Computing Machinery, 2020, pp. 21-30. source
- Interpretationreasoning
Typically, the original behaviour of a plagiarised program remains largely unchanged.
“Hence, typically the original behaviour of a plagiarised program remains largely unchanged.”
Quote in the paperSubstantial claim - Interpretationreasoning
BPlag's behavioural approach can distinguish programs that are behaviourally similar because they implement the same specification from those that are behaviourally similar because of plagiarism, in a robust and accurate way.
“Subsequently, this allows for a behavioural approach to SCPD that can differentiate between programs that are behaviourally similar due to implementing the same specification, and those that are behaviourally similar due to plagiarism; in a manner that is both robust and accurate.”
Quote in the paperNot a substantial claim - Interpretationreasoning
The three-aspect model gives only an approximate representation of a program's execution behaviour.
“However, this model can only be termed to provide an 'approximate' representation of the execution behaviour of a program.”
Quote in the paperNot a substantial claim - Premisecitation
Structural transformations correspond to L3 and higher transformations in Faidhi and Robinson's taxonomy.
“Structural transformations are equivalent to L3+ transformations from Faidhi and Robinson's [10] taxonomy.”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [10] 10. J. A. W. Faidhi and S. K. Robinson, ''An empirical approach for detecting program similarity and plagiarism within a university programming envi- ronment,'' Comput. Educ., vol. 11, no. 1, pp. 11-19, Jan. 1987. source
- Premisecitation
Most plagiarism-hiding transformations leave a program's execution behaviour unchanged.
“The majority of these transformations do not modify the execution behaviour of a program.This is as a plagiariser is commonly somebody who is either: inept, lazy or time-poor [7], [36], [37].”
Quote in the paperSubstantial claim0 of 3 sources checked- cites [7] 7. M. Joy and M. Luck, ''Plagiarism in programming assignments,'' IEEE Trans. Educ., vol. 42, no. 2, pp. 129-133, May 1999. source
- cites [36] 36. J. Sheard, S. Markham, and M. Dick, ''Investigating differences in cheat- ing behaviours of IT undergraduate and graduate students: The maturity and motivation factors,'' Higher Educ. Res. Develop., vol. 22, no. 1, pp. 91-108, May 2003. source
- cites [37] 37. Simon, T. Myers, D. Hardy, and R. Mason, ''Variations on a theme: Academic integrity and program code,'' in Proc. 21st Australas. Comput. Educ. Conf. (ACE). New York, NY, USA: Association for Computing Machinery, 2019, pp. 56-63, doi: 10.1145/3286960.3286967. source
- Interpretationown data
The three analysed aspects are sufficient for representing behaviour for source code plagiarism detection.
“However, these three analysed aspects are sufficient for representing behaviour for source code plagiarism detection.This will be demonstrated through the evaluation of the proposed SCPDT, BPlag, that implements this model (Section V).”
Quote in the paperNot a substantial claim - Interpretationreasoning
Analysing program behaviour is expected to be most beneficial for detecting plagiarism involving pervasively applied structural transformations.
“Analysing program behaviour is expected to be most beneficial in the detection of plagiarism with pervasively applied structural transformations.”
Quote in the paperSubstantial claim - Interpretationreasoning
Using concrete execution to analyse behaviour would require many test inputs to record multiple execution paths, which was considered infeasible for a source code plagiarism detection tool.
“If concrete execution (i.e.'conventional' execution) was applied to analyse behaviour, it would require providing a large set of test inputs to record multiple execution paths under different input sets.This was deemed infeasible for a SCPDT.”
Quote in the paperSubstantial claim - Interpretationreasoning
It is much harder to transform a program's behaviour to evade detection than to transform its structure.
“While it is easy to transform the structure of a program, it is argued that it is much more difficult to transform the behaviour of a program to evade detection.”
Quote in the paperSubstantial claim - Interpretationreasoning
Achieving such behavioural change would effectively require rewriting significant portions of the misappropriated program.
“To do so, the plagiariser would effectively have to rewrite significant portions of the mis-appropriated program.”
Quote in the paperSubstantial claim - Interpretationreasoning
Symbolic execution makes it easy to record all potential execution paths.
“However, recording all potential execution paths is easily afforded with symbolic execution.”
Quote in the paperSubstantial claim - Interpretationreasoning
All submissions for the same assessment task are inherently behaviourally similar.
“All assignment submissions implementing the same assessment task are all inherently behaviourally similar.This is as they implement the same assignment specification, meaning it can be expected that all submissions for the same assessment task will accept the same inputs, and if correctly implemented, produce the same outputs.”
Quote in the paperSubstantial claim - Interpretationreasoning
BPlag is theoretically robust to L6 transformations provided they do not change the behavioural representation of a program.
“BPlag is in theory, robust to L6 transformations on the condition that such transformations do not change the behavioural representation of a program.”
Quote in the paperSubstantial claim - Interpretationreasoning
A custom-built tool that omits constraint solving and library bytecode execution was judged to be more efficient.
“Hence, a custom built tool that omits constraint solving and library bytecode execution was deemed to provide greater efficiency.”
Quote in the paperSubstantial claim - Interpretationreasoning
It is unlikely that a plagiariser would apply functionally equivalent but behaviourally distinct transformations through an entire program because it is time-intensive and requires high skill.
“This is considered unlikely as rewriting a program to be functionally equivalent but behaviourally distinct would be a time-intensive task for a skilled but lazy plagiariser, and would require a level of programming skill above that expected from an inept plagiariser.”
Quote in the paperSubstantial claim - Interpretationreasoning
It is expected that functionally equivalent but behaviourally distinct transformations would need to be applied through an entire program to evade BPlag.
“However, it is expected that such transformations would have to be applied through an entire program in order to evade detection by BPlag.”
Quote in the paperSubstantial claim - Interpretationreasoning
Functionally equivalent but behaviourally distinct code can evade BPlag.
“Hence, there is potential for such transformations to evade BPlag by introducing functionally equivalent code; that subsequently has a distinct behavioural representation.”
Quote in the paperSubstantial claim - Interpretationreasoning
Changing decision logic in a program does not grossly affect BPlag as long as the same code is executed.
“Changing the decision logic of a program would not grossly affect BPlag, as long as it results in the same code executed.”
Quote in the paperSubstantial claim - Interpretationreasoning
If L6 transformations introduce functionally-equivalent but behaviourally-distinct code, BPlag's similarity evaluation is expected to be impacted.
“However, if transformations introduce functionally-equivalent but behaviourally-distinct code, BPlag is expected to see an impact on the evaluation of similarity.”
Quote in the paperSubstantial claim - Interpretationreasoning
Modifying expressions can have a large impact on BPlag's similarity evaluation.
“Conversely, modifying expressions can have a large impact on the approach.”
Quote in the paperSubstantial claim - Premisenone given
Existing symbolic execution tools execute all Java bytecode, including system library bytecode.
“Furthermore, existing symbolic execution tools execute all Java bytecode, even that provided as part of system libraries.”
Quote in the paperNot a substantial claim - Interpretationreasoning
Flipping a relational operator in an if condition results in a minor difference in behaviour for BPlag.
“For example, if a relational operator is flipped as part of an if condition, it would result in a minor difference in behaviour.”
Quote in the paperNot a substantial claim - Interpretationnone given
The overlap coefficient does not consider whether filtered graph nodes are legitimately part of a program or injected noise.
“The overlap coefficient does not consider if the filtered graph nodes are legitimately part of a program, or simple injected noise.”
Quote in the paperSubstantial claim - Interpretationreasoning
The absence of a robustness decrease for L4 and L5 transformations implies BPlag is robust to those transformations.
“The lack of decrease in robustness to L4 and L5 transformations implies that BPlag is robust to such transformations.”
Quote in the paperSubstantial claim- Rests on an assumption: L4 and L5 transformations do not modify the behaviour of a program.
- Interpretationreasoning
This noise results in a decrease in similarity.
“Hence, this results in a decrease in similarity.”
Quote in the paperSubstantial claim - Interpretationreasoning
The overlap coefficient can be used to effectively ignore the addition of new code.
“Similarity, the overlap coefficient could be used to effectively ignore the addition of new code.”
Quote in the paperSubstantial claim - Interpretationreasoning
This introduces new data nodes to the graphs that cannot be matched to the base program.
“As a result of this, it introduces new data nodes to the graphs that cannot be matched to the base program.”
Quote in the paperSubstantial claim - Interpretationreasoning
If all similarity scores are plotted on a number line, errors make it impossible to linearly separate plagiarised and innocent pairs into homogeneous groups.
“Subsequently, if all similarity scores for a data set are plotted on a number line, this results in it being impossible to linearly separate those that are plagiarised and innocent into homogeneous groups.”
Quote in the paperNot a substantial claim - Premisenone given
If two programs have high similarity, it can be considered an indication that plagiarism may be present.
“If two programs have a high similarity, it can be considered an indication that plagiarism may be present.”
Quote in the paperSubstantial claim - Interpretationown data
Lossy filtering and overlap coefficient allow BPlag to largely accommodate value-injecting transformations.
“Through the introduction of lossy filtering, and similarity evaluation through the overlap coefficient, it was shown that BPlag can largely accommodate for value-injecting transformations.”
Quote in the paperSubstantial claim - Interpretationown data
This vulnerability was largely mitigated through noise filtering accommodation.
“However, this was shown to be largely mitigated through the noise filtering accommodation.”
Quote in the paperSubstantial claim - Interpretationreasoning
Because the applied transformations are mostly structural and cosmetic, they have a considerable impact on the tools' ability to measure similarity.
“As the applied source code transformations are mostly structural and cosmetic in nature, they are shown to have a considerable impact on the tools ability to measure similarity.”
Quote in the paperSubstantial claim- Rests on an assumption: The applied source code transformations are mostly structural and cosmetic in nature.
- Interpretationown data
BPlag is much more robust to transformation than the SCPDTs.
“Hence, it can be concluded that BPlag is much more robust to transformation compared to the SCPDTs; however, it does have a vulnerability to value-injecting transformations, that subsequently introduce noise into the PIDGs.”
Quote in the paperSubstantial claim - Interpretationown data
BPlag is more robust to plagiarism-hiding transformations.
“In summary of these results, BPlag is shown to be more robust to plagiarism-hiding transformations.”
Quote in the paperSubstantial claim - Interpretationreasoning
Value injection is a vulnerability of all SCPDTs, not only BPlag.
“It should be noted that value injection is a vulnerability of all SCPDTs, and not just BPlag.”
Quote in the paperNot a substantial claim - Premisecitation
Different interpretations of high similarity have led to different approaches for evaluating SCPDTs.
“Hence, this has resulted in different interpretations of what is considered an indication of plagiarism for use in SCPDT evaluations, and how to evaluate SCPDTs in general [9].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [9] 9. M. Novak, M. Joy, and D. Kermek, ''Source-code similarity detection and detection tools used in academia: A systematic review,'' ACM Trans. Comput. Educ., vol. 19, no. 3, pp. 1-37, Jun. 2019. source
- Interpretationown data
From Fig. 5 results, BPlag demonstrates greater robustness to plagiarism-hiding transformations.
“From the results in Fig. 5, BPlag demonstrates greater robustness to plagiarism-hiding transformations.”
Quote in the paperSubstantial claim - Interpretationreasoning
Value-injecting transformations add noise that manifests as increased node and edge counts in PIDGs.
“Logically, value-injecting transformations add 'noise', that manifests as increased node and edge counts of the PIDGs representing a program.”
Quote in the paperSubstantial claim - Interpretationreasoning
This indicates errors in the graph-matching algorithm caused by lossy added noise.
“This would indicate the occurrence of errors in the graph-matching algorithm, as a result of the 'lossy' of added noise.”
Quote in the paperNot a substantial claim - Interpretationown data
BPlag has a vulnerability to value-injecting transformations that introduce noise into PIDGs.
“Hence, it can be concluded that BPlag is much more robust to transformation compared to the SCPDTs; however, it does have a vulnerability to value-injecting transformations, that subsequently introduce noise into the PIDGs.”
Quote in the paperSubstantial claim - Interpretationreasoning
This allows accurate evaluation of SCPDT accuracy with a ground-truth data set with known plagiarism-hiding transformations.
“Hence, this allows the accurate evaluation of SCPDT accuracy with a ground-truth data set with known types of plagiarismhiding transformations applied.”
Quote in the paperSubstantial claim - Interpretationreasoning
These tools measure similarity through source code aspects that are modified by undergraduate plagiarisers.
“This is an important observation as these tools measure similairty through aspects of source code that are modified by undergraduate plagiarisers.”
Quote in the paperSubstantial claim- Rests on an assumption: The applied source code transformations are representative of those used by undergraduate plagiarisers.
- Interpretationreasoning
The five compared SCPDTs are less robust to the applied source code transformations because they measure structural similarity of source code.
“The five compared SCPDTs are less robust to the applied source code transformations as they measure the structural similarity of source code.”
Quote in the paperSubstantial claim - Interpretationreasoning
BPlag's vulnerability to L3 transformations results from value-injecting transformations that add new values to PIDGs.
“On further analysis, this is a result of 'value-injecting transformations': transformations that result in new values represented on PIDGs.”
Quote in the paperSubstantial claim - Interpretationreasoning
Using generated test data allows construction of a data set with known plagiarised pairs that can be injected into innocent assignment submissions.
“Using generated test data allows for the construction of a data set with known plagiarised programs pairs that can be injected into an existing data set of innocent assignment submissions.”
Quote in the paperSubstantial claim - Interpretationreasoning
Measuring behavioural similarity yields greater robustness against source code transformations representative of undergraduate plagiarisers.
“Overall, these results have shown that by measuring the behavioural similarity of the programs, greater robustness can be gained against source code transformations that are representative of undergraduate plagiarisers.”
Quote in the paperSubstantial claim- Rests on an assumption: The applied source code transformations are representative of those used by undergraduate plagiarisers.
- Interpretationreasoning
If two PIDGs are vastly different in size but one is a subset of the other, the overlap coefficient can produce a false positive through an unexpectedly high similarity score.
“Furthermore, if two PIDGs are of vastly different sizes, but one is a subset of the other, it can result in a false positive through the evaluation of an unexpectedly high similarity score.”
Quote in the paperSubstantial claim - Interpretationreasoning
Some errors are expected because lossy filtering is applied to a graph-matching heuristic.
“However, as this is a lossy filtering method applied to a graph-matching heuristic, the introduction of some errors is expected.”
Quote in the paperNot a substantial claim - Interpretationreasoning
Analysing functional equivalence is not suitable for SCPD because it does not consider program design and implementation.
“However, as discussed, analysing functional equivalence is not suitable for SCPD as it does not consider the design and implementation of a program.”
Quote in the paperSubstantial claim - Interpretationown data
With lossy filtering and overlap coefficient, BPlag can gain even greater robustness to plagiarism-hiding transformations.
“However, overall, these results show that in combination with the lossy filtering method and overlap coefficient, BPlag can gain even greater robustness to plagiarism-hiding transformations.”
Quote in the paperSubstantial claim - Interpretationreasoning
When a conventional SCPDT evaluates similarity with injected source code, it cannot match the injected code and similarity drops.
“When a conventional SCPDT attempts to evaluate similarity in such a case, it cannot match the injected source code and hence results in a drop in similarity.”
Quote in the paperSubstantial claim - Interpretationreasoning
Value-injecting transformations are the most apparent weakness of BPlag.
“Value-injecting transformations are the most apparent weakness of BPlag.”
Quote in the paperSubstantial claim - Interpretationreasoning
This results in a decrease in similarity.
“Hence, it results in a decrease in similarity.”
Quote in the paperSubstantial claim - Premiseown data
Experiment 1 demonstrated that BPlag is largely robust to 20% and 40% transformation chances.
“Higher transformation chances are used in this experiment, as experiment 1 demonstrated that BPlag is largely robust to the 20% and 40% transformation chances.”
Quote in the paperSubstantial claim - Interpretationown data
Greater accuracy can be gained by measuring similarity through source code behaviour when detecting source code plagiarism hidden with plagiarism-hiding transformations.
“Overall, this demonstrates that greater accuracy can be gained by measuring similarity through the behaviour of source code, when detecting source code plagiarism hidden with plagiarism-hiding transformations.”
Quote in the paperSubstantial claim - Interpretationreasoning
Dependence of results on the composition of the base programs affects every evaluation that measures source code similarity.
“However, this problem is common to all evaluations that measure source code similarity”
Quote in the paperNot a substantial claim - Interpretationreasoning
The generated plagiarised variants can be regarded as representative of the work produced by undergraduate plagiarisers.
“Hence, the variants can be said to be representative of undergraduate plagiarisers.”
Quote in the paperSubstantial claim- Rests on an assumption: The way SPPlagiarise applies its transformations matches how undergraduate plagiarisers apply transformations.
- Interpretationown data
Analysing behaviour renders structural plagiarism-hiding modifications largely inert.
“As demonstrated in experiment 1, by analysing behaviour, the plagiarism-hiding modifications that transform the structure of source code are rendered largely inert.”
Quote in the paperSubstantial claim - Interpretationown data
The value-injecting vulnerability was accommodated using noise filtering and overlap coefficient.
“However, in the latter case, it was shown to be accommodated for using a simple filtering of noise from the generated PIDGs, and the use of the overlap coefficient to evaluate similarity.”
Quote in the paperSubstantial claim - Interpretationreasoning
This decrease is explained by the value-injecting transformations identified in experiment 1.
“In theory BPlag should not be affected by such transformations, however, this is again explained by the value-injecting transformations identified in experiment 1.”
Quote in the paperSubstantial claim - Interpretationreasoning
Plagiarism-hiding transformations do not significantly impact the behavioural representation of a program.
“This is as the plagiarism-hiding transformations do not have a significant impact on the behavioural representation of a program.”
Quote in the paperSubstantial claim - Interpretationreasoning
BPlag is vulnerable to transformations that alter a program's behavioural representation, namely the introduction of functionally equivalent code and value-injecting transformations.
“As identified, BPlag is vulnerable to transformations that change the behavioural representation of a program.”
- Also stated in: § B. VULNERABILITY TO TRANSFORMATIONS · plain
“But, BPlag is vulnerable to the identified introduction of functionally-equivalent code, or value-injecting transformations.”
Quote in the paperSubstantial claim - Also stated in: § B. VULNERABILITY TO TRANSFORMATIONS · plain
- Interpretationreasoning
As a trade-off for greater robustness and accuracy, BPlag is less efficient than the five compared SCPDTs due to greater complexity.
“As a trade-off for greater robustness and accuracy, BPlag is less efficient than the five compared SCPDTs due to the greater complexity of the approach.”
Quote in the paperNot a substantial claim - Interpretationreasoning
The greater runtime does not make BPlag impractical to use.
“The greater runtime does not mean BPlag is impractical to use.”
Quote in the paperSubstantial claim - Interpretationreasoning
BPlag's poorer efficiency is attributed to its comparatively more complex implementation.
“The poorer efficiency is attributed to the comparatively more complex implementation of the approach.”
Quote in the paperNot a substantial claim - Interpretationreasoning
Using generated data sets allows a known number of plagiarised programs to be generated with well-known types of plagiarism-hiding transformations.
“By using generated data sets, a known number of plagiarised programs can be generated with well-known types of plagiarism-hiding transformations.”
Quote in the paperSubstantial claim - Interpretationreasoning
BPlag's vulnerability to functionally equivalent code is a necessary weakness, accepted in order to prevent false positive plagiarism detections.
“However, the vulnerability to functionally equivalent code is a required deficiency of BPlag to avoid false positive errors when detecting plagiarism.”
Quote in the paperSubstantial claim - Interpretationreasoning
BPlag is more accurate in detecting plagiarism where the plagiarised work is pervasively transformed with plagiarism-hiding transformations.
“Subsequently, the approach is more accurate in the detection of plagiarism, where the plagiarised work is pervasively transformed with plagiarismhiding transformations, as demonstrated in experiment 2.”
Quote in the paperSubstantial claim - Interpretationnone given
Greater accuracy is also influenced by the approach representing the unique implemented behaviour of a program as expressed through source code.
“However the greater accuracy is also influenced by the approach representing the unique implemented behaviour of a program, as expressed through source code.”
Quote in the paperNot a substantial claim - Interpretationreasoning
BPlag is expected to withstand the source code transformations that are typical of undergraduate plagiarisers.
“Hence, it should be expected that BPlag is robust against source code transformations characteristic of undergraduate plagiarisers.”
Quote in the paperSubstantial claim- The authors state this as an assumption: BPlag can cope with plagiarism-hiding transformations that are cosmetic or structural, and with those that preserve semantics and behaviour.
- Interpretationown data
By analysing program behaviour, BPlag consistently measures higher similarity between simulated plagiarised programs than the five compared SCPDTs.
“By analysing program behaviour, it is capable of consistently measuring a higher similarity between the simulated plagiarised programs, as compared to the five compared SCPDTs.”
Quote in the paperSubstantial claim - Premisecitation
SPPlagiarise provides 19 source code transformations, which correspond to levels L1 through L5 of the taxonomy of Faidhi and Robinson.
“SPPlagiarise implements a total of 19 source code transformations conforming to L1-L5 of Faidhi and Robinson's [10] taxonomy.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [10] 10. J. A. W. Faidhi and S. K. Robinson, ''An empirical approach for detecting program similarity and plagiarism within a university programming envi- ronment,'' Comput. Educ., vol. 11, no. 1, pp. 11-19, Jan. 1987. source
- Interpretationreasoning
Unavoidable errors occur when identifying the plagiarised programs.
“Hence, there are unavoidable errors that occur when identifying the plagiarised programs.”
Quote in the paperSubstantial claim - Study design and conductreasoning
In this experiment the data-set dependence problem is reduced by using a large and diverse data set.
“and is mitigated in this experiment with a large and diverse data set.”
Quote in the paperSubstantial claim - Interpretationreasoning
Undergraduate plagiarisers are not expected to carry out either attack, since it demands substantial programming skill and/or time.
“Neither attacks are expected from undergraduate plagiarisers as it would require considerable programming skills and/or time.”
Quote in the paperSubstantial claim - Interpretationreasoning
Greater accuracy largely results from greater robustness, allowing BPlag to evaluate higher similarity between plagiarised works with pervasive transformations than innocent works.
“Greater accuracy is largely a result of the greater robustness, allowing for BPlag to evaluate a higher similarity between plagiarised works (with pervasive plagiarism-hiding transformations) than innocent works.”
Quote in the paperSubstantial claim - Interpretationreasoning
This makes the similarity scores of plagiarised and innocent program pairs no longer linearly separable.
“This effectively results in the similarity scores of the plagiarised and innocent program pairs becoming no longer linearly separable.”
Quote in the paperSubstantial claim - Interpretationreasoning
Implementing the three stages as separate programs allows the approach to run without garbage collection overhead.
“By implementing the three stages as separate programs, it effectively allows the approach to run without any garbage collection overhead.”
Quote in the paperSubstantial claim - Interpretationreasoning
Errors are caused by some variant similarity scores dropping to a point where correctly innocent scores are ranked higher.
“This is caused by the similarity scores of some variant programs dropping to a point where correctly innocent scores are ranked higher.”
Quote in the paperSubstantial claim - Interpretationown data
With accommodations for noise, BPlag achieves greater accuracy against value-injecting transformations.
“Hence, by integrating the accommodations for the introduction of noise, BPlag is shown to achieve greater accuracy against the value-injecting transformations.”
Quote in the paperSubstantial claim - Study design and conductreasoning
The reported results establish BPlag's performance conclusively only for the data set that was used.
“Therefore, the results presented here can only conclusively determine the performance of BPlag on the utilised data set.”
Quote in the paperSubstantial claim - Premisenone given
BPlag identifies similar programs by examining runtime behaviour, specifically data and its relations, transformations of data, and method calls.
“While BPlag seeks to identify similar programs by analysing how the program behaves at runtime by identifying data and its relations, transformation of data, and method calls.”
Quote in the paperSubstantial claim - Interpretationreasoning
As a general rule, every source code plagiarism detection tool is vulnerable to transformations that change the program representation that tool relies on.
“However, as a generalisation, it must be considered that all SCPDTs are vulnerable to transformations that change the representation of a program used by the SCPDT.”
Quote in the paperSubstantial claim - Interpretationreasoning
The transformations typically used to hide plagiarism have little effect on BPlag, apart from those that change the behavioural representation of the programs.
“Hence, the characteristic plagiarism-hiding transformations do not have a significant impact on the approach, except for those that modify the behavioural representation of the programs.”
Quote in the paperSubstantial claim - Interpretationcitation
BPlag's approach has nothing in common with existing approaches to source code plagiarism detection.
“The approach does not share similarity with existing approaches to SCPD.”
Quote in the paperSubstantial claim - Interpretationnone given
Any modification of the program representation a similarity tool uses necessarily lowers the similarity that tool measures.
“When the representation of a program is modified, it is inevitable any source code similarity tool will measure a decrease in similarity.”
Quote in the paperNot a substantial claim - Interpretationreasoning
This could become a source of errors if BPlag were applied to low-level languages.
“This has potential to be a source of errors if the approach were to be re-applied to low-level languages.”
Quote in the paperNot a substantial claim - Interpretationreasoning
The main difference between BPlag and these tools is the form in which the program is analysed: BPlag works from source code to build a behavioural representation, whereas the compared tools work from machine code or bytecode.
“The major difference between BPlag and these tools is the form a program takes when analysed.BPlag analyses source code to derive a behavioural representation, while the compared works analyse machine code or bytecode.”
Quote in the paperNot a substantial claim - Premisereasoning
BPlag is a clearly behavioural approach to academic source code plagiarism detection.
“BPlag is a distinctly behavioural approach to academic SCPD.”
Quote in the paperSubstantial claim
- May combine two claims. 47
- Classified as probably not a substantial claim. 57
- The quote only partly states this claim. 2
May combine two claims.
Study design and conductcitationAll implemented source code transformations are referenced from prior literature and conform to the first 5 levels of Faidhi and Robinson's transformation taxonomy.
“To ensure the generated programs are representative of undergraduate plagiarism, all implemented source code transformations (listed in table 4) are referenced from prior literature [7], [10], [50], [51], and conform to the first 5 levels of Faidhi and Robinson's [10] transformation taxonomy.”
Quote in the paperSubstantial claim1 of 3 sources checked- cites [7] 7. M. Joy and M. Luck, ''Plagiarism in programming assignments,'' IEEE Trans. Educ., vol. 42, no. 2, pp. 129-133, May 1999. source
- cites [10] 10. J. A. W. Faidhi and S. K. Robinson, ''An empirical approach for detecting program similarity and plagiarism within a university programming envi- ronment,'' Comput. Educ., vol. 11, no. 1, pp. 11-19, Jan. 1987. source
- cites [50] 50. M. Mozgovoy, ''Desktop tools for offline plagiarism detection in computer programs,'' Informat. Educ., vol. 5, no. 1, pp. 97-112, Jan. 2006. source
May combine two claims.
PremisecitationExisting symbolic execution tools are designed for program testing and seek input constraints that lead to particular execution paths.
“Firstly, existing symbolic execution tools are designed for applying symbolic execution to program testing.In particular, they seek to identify the constraints on inputs that result in certain execution paths to aid software quality activities such as software testing or identifying bugs in code [43].”
Quote in the paperSubstantial claim1 of 1 sources checked- cites [43] 43. R. Baldoni, E. Coppa, D. C. D'Elia, C. Demetrescu, and I. Finocchi, ''A survey of symbolic execution techniques,'' ACM Comput. Surv., vol. 51, no. 3, pp. 1-39, 2018. source
May combine two claims.
PremisecitationBPlag is not intended to measure functional equivalence, because tools for measuring similarity through functional equivalence already exist.
“Measuring functional equivalence is not the purpose of BPlag as there are already tools that exist to measure similarity through functional equivalence (e.g.[14], [31], [32], [34], [35]).”
Quote in the paperSubstantial claim1 of 3 sources checked- cites [14] 14. S. Li, X. Xiao, B. Bassett, T. Xie, and N. Tillmann, ''Measuring code behavioral similarity for programming and software engineering educa- tion,'' in Proc. 38th Int. Conf. Softw. Eng. Companion (ICSE). New York, NY, USA: Association for Computing Machinery, 2016, pp. 501-510, doi: 10.1145/2889160.2889204. source
- cites [31] 31. M. Bertran, F.-X. Babot, and A. Climent, ''An input/output semantics for distributed program equivalence reasoning,'' Electron. Notes Theor. Comput. Sci., vol. 137, no. 1, pp. 25-46, 2005. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1571066105050814 source
The Introduction (page unavailable) presents an input/output equivalence framework for reasoning about distributed programs, supporting the narrower point that methods for assessing program equivalence exist. It does not describe a tool that measures program similarity through functional equivalence. BPlag’s purpose is the citing authors’ own framing, not a claim this source addresses. (LLM, conf=0.83)
Experimental — accuracy not yet measured - cites [32] 32. Y.-C. Jhi, X. Wang, X. Jia, S. Zhu, P. Liu, and D. Wu, ''Value-based pro- gram characterization and its application to software plagiarism detection,'' in Proc. 33rd Int. Conf. Softw. Eng. (ICSE), 2011, pp. 756-765. source
May combine two claims.
PremisecitationRecent literature reviews list a range of structural and/or semantic source code plagiarism detection tools but none that are behavioural, which supports the absence of comparable approaches.
“The lack of similar approaches to SCPD is supported by the recent literature reviews [8], [9] that identify various structural and/or semantic SCPDTs, however, fail to identify any behavioural SCPDTs.”
Quote in the paperSubstantial claim1 of 2 sources checked- cites [8] 8. V. T. Martins, D. Fonte, P. R. Henriques, and D. da Cruz, ''Plagiarism detection: A tool survey and comparison,'' in Proc. 3rd Symp. Lang., Appl. Technol., in OpenAccess Series in Informatics, vol. 38, M. J. V. Pereira, J. P. Leal, and A. Simões, Eds. Dagstuhl, Germany: Schloss Dagstuhl- Leibniz-Zentrum fuer Informatik, 2014, pp. 143-158. source
- cites [9] 9. M. Novak, M. Joy, and D. Kermek, ''Source-code similarity detection and detection tools used in academia: A systematic review,'' ACM Trans. Comput. Educ., vol. 19, no. 3, pp. 1-37, Jun. 2019. source
May combine two claims.
Findingown dataWhile compared tools show progressively greater average similarity decreases, BPlag maintains a near-constant average drop.
“Where the compared tools see a progressively greater decrease in average similarity, BPlag maintains a near-constant average drop in similarity.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataThe revised method scores have much greater variability and contain some outliers.
“However, there is much greater variability in these scores, and they also contain some outliers.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningThe worst-case error count is 600 for each transformation level and chance combination.
“This results in a worst-case of 600 errors for each transformation level and transformation chance combination (i.e. the number of variants generated).”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataResults with the revised method are somewhat reminiscent of Table 5 results for variants without noise injection.
“It can be seen that these results are somewhat reminiscent of the results in table 5 for variants without noise injection.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningThe experiment generated 12,000 variants across the 12 data sets.
“This results in the generation of 200 variants for each selected base program, totalling 12,000 variants across the 12 data sets.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataBPlag's slightly greater robustness to L4 and L5 transformations is largely explained by sample size and is not significant.
“Technically, BPlag shows slightly greater robustness to L4 and L5 transformations, however, this can largely be explained by the sample size and is not significant.”
Quote in the paperNot a substantial claimThe quote only partly states this claim.
Findingown dataBPlag demonstrates greater robustness against L4 and L5 transformations.
“However, the greater robustness of BPlag is demonstrated against L4 and L5 transformations.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Findingnone givenThe L3+ variants in this experiment were generated with value-injecting transformations.
“Note, the L3+ variants in this experiment were generated with value-injecting transformations.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataPlaggie and Sherlock-S are consistently ranked fifth and sixth, with significantly higher error counts than the other tools.
“Plaggie and Sherlock-S are consistently ranked fifth and sixth, both having significantly higher error counts than the other tools.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataThis is reflected by a low error rate against L1 and L2 transformations, largely consistent across the four transformation levels, excluding Sherlock-S and Sherlock-W.
“This is reflected in this experiment by a low error rate against L1 and L2 transformations (that are largely consistent across the 4 transformation levels, excluding Sherlock-S and Sherlock-W).”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataThe authors observed that GraalVM has lower peak memory usage than the standard Oracle HotSpot JVM in long-running experiments or when analysing large data sets.
“GraalVM is used as opposed to the standard Oracle HotSpot JVM as the authors have observed that it has a lower peak memory usage in long-running experiments, or when analysing large data sets.”
Quote in the paperNot a substantial claimMay combine two claims.
FindingreasoningThe transformations used are mostly structural and cosmetic, and they preserve program function.
“This means the transformations are largely structural and cosmetic, and are functionally-equivalent.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataExperiments 1 and 2 showed that the lossy filtering method and the overlap coefficient for measuring similarity can compensate for BPlag's vulnerability to value-injecting transformations.
“As shown in experiments 1 and 2, the vulnerability to value-injecting transformations can be accommodated for using the presented lossy filtering method, and the use of the overlap coefficient for measuring similarity.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataBPlag is approximately 38 times slower than Sherlock-S and almost 2 times slower than JPlag.
“BPlag is approximately 38 times slower than Sherlock-S and almost 2 times slower than JPlag.”
Quote in the paperNot a substantial claimMay combine two claims.
PremisecitationExisting source code plagiarism detection tools are vulnerable to pervasive plagiarism-hiding transformations and can be inaccurate in detecting plagiarised source code.
“However, existing detection tools are not robust to pervasive plagiarism-hiding transformations and can be inaccurate in the detection of plagiarised source code.”
- Also stated in: § I. INTRODUCTION · plain
“Although existing SCPDTs are largely robust and accurate in the presence of plagiarism-hiding transformations, they are vulnerable to pervasive plagiarism-hiding transformations [12].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [12] 12. H. Cheers, Y. Lin, and S. P. Smith, ''Detecting pervasive source code plagiarism through dynamic program behaviours,'' in Proc. 22nd Aus- tralas. Comput. Educ. Conf. (ACE). New York, NY, USA: Association for Computing Machinery, 2020, pp. 21-30. source
- Also stated in: § I. INTRODUCTION · plain
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationFaidhi and Robinson's taxonomy classifies plagiarism-hiding source code transformations into six levels.
“This taxonomy categorises transformations into six levels: L1) Changes to comments and indentation.L2) Changes to identifiers.L3) Changes in declarations (e.g.declaring extra constants, changing the order of functions and variables).L4) Modifying functions (e.g.modifying signature, merging and creating new functions).L5) Changing program statements to semantic equivalents (e.g. for to while, if to”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites Faidhi and Robinson [10] 10. J. A. W. Faidhi and S. K. Robinson, ''An empirical approach for detecting program similarity and plagiarism within a university programming envi- ronment,'' Comput. Educ., vol. 11, no. 1, pp. 11-19, Jan. 1987. source
Classified as probably not a substantial claim.
InterpretationreasoningPervasive structural transformations are expected to be applied by skilled but time-poor plagiarisers.
“Applying pervasive structural transformations is expected to be performed by ''skilled but time-poor'' plagiarisers.This is a student who has the skills to implement an assessment item, but does not have the time or motivation to do so.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningBPlag is limited to detecting source code plagiarism in Java programming assignments because its implementation follows the Java Virtual Machine design.
“In this work, BPlag is limited to the detection of source code plagiarism in Java programming assignments.This is as the current implementation of BPlag is modeled after the design of the Java Virtual Machine (JVM), and is hence limited to the analysis of Java source code.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
PremisecitationCheers et al. noted that modern integrated development environments allow automated source code transformations to be applied to a misappropriated assignment so that current detection tools would not measure enough similarity to warrant suspicion.
“Cheers et al. [12] noted that with the use of modern integrated development environments, many automated source code transformations can be applied to 1 https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html a misappropriated assignment in order to transform it such that currently available SCPDTs would not measure a high enough similarity to warrant suspicion.”
Quote in the paperSubstantial claim0 of 1 sources checked- cites Cheers et al. [12] 12. H. Cheers, Y. Lin, and S. P. Smith, ''Detecting pervasive source code plagiarism through dynamic program behaviours,'' in Proc. 22nd Aus- tralas. Comput. Educ. Conf. (ACE). New York, NY, USA: Association for Computing Machinery, 2020, pp. 21-30. source
Probably not a substantial claim: may not pass S4 (based).
Interpretationnone givenA comprehensive behavioural representation requires exploring all possible execution paths of a program.
“To derive a comprehensive behavioural representation of a program, all possible execution paths of a program need to be explored.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S2 (checkable), S4 (based).
InterpretationreasoningGiven plagiariser motivations, it is unlikely they would spend so much time to hide plagiarism.
“When considering the motivations of a plagiariser, it is unlikely they would spend so much time to hide their plagiarism.”
Quote in the paperNot a substantial claimMay combine two claims.
PremisecitationStructural transformations alter source code appearance and structure but not behaviour.
“Such transformations modify the appearance and structure of source code, but not behaviour.”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [10] 10. J. A. W. Faidhi and S. K. Robinson, ''An empirical approach for detecting program similarity and plagiarism within a university programming envi- ronment,'' Comput. Educ., vol. 11, no. 1, pp. 11-19, Jan. 1987. source
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationZhang et al. describe program behaviour at a high level as input, output, and the computation that maps inputs to outputs.
“Zhang et al. [34] describe program behaviour at a high level as ''input, output and the computation used to achieve the inputoutput mapping''.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites Zhang et al. [34] 34. F. Zhang, D. Wu, P. Liu, and S. Zhu, ''Program logic based software plagiarism detection,'' in Proc. IEEE 25th Int. Symp. Softw. Rel. Eng., Nov. 2014, pp. 66-77. source
Probably not a substantial claim: may not pass S2 (checkable), S4 (based).
Interpretationnone givenA Java program is fundamentally no more than data and its relations, data transformation through arithmetic operations, and interactions with the execution environment.
“Fundamentally, a Java program is no more than these three aspects.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
InterpretationreasoningCombining high-level and low-level perspectives lets BPlag represent an approximation of program behaviour reflecting a program's conceptual design and implementation.
“By combining both high-level and low-level perspectives of a program, this allows for representing an approximation of program behaviour as a reflection of a program's conceptual design and implementation.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationSuch transformations took about one to two hours to apply, much less than a typical major programming assignment.
“Such transformations took approximately 1-2 hours to apply, being much less time than a typical major programming assignment.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [12] 12. H. Cheers, Y. Lin, and S. P. Smith, ''Detecting pervasive source code plagiarism through dynamic program behaviours,'' in Proc. 22nd Aus- tralas. Comput. Educ. Conf. (ACE). New York, NY, USA: Association for Computing Machinery, 2020, pp. 21-30. source
Classified as probably not a substantial claim.
InterpretationreasoningSymbolic execution is used in BPlag because it is perceived to give greater coverage when analysing execution behaviour.
“Symbolic execution is applied in BPlag as it is perceived to provide greater coverage in the analysis of execution behaviour.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningTo change execution behaviour into an unrecognisable form, a plagiariser would need intimate knowledge of the misappropriated work and would have to reverse engineer it into a functionally equivalent but behaviourally distinct form.
“Using the utilized aspects of behaviour, in order to change the execution behaviour of a program into an unrecognisable form, a plagiariser would have to gain intimate knowledge of a misappropriated work and reverse engineer it into a functionally-equivalent but a behaviourally-distinct form.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningThe core principles of BPlag can be applied to other similar high-level programming languages if a suitable symbolic execution tool is used.
“However, the fundamental principles of the approach can be applied to any similar high-level programming languages (e.g.C#, Python) by utilizing an appropriate symbolic execution tool.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningA custom-built symbolic execution tool is used in BPlag because of concerns about computational complexity of existing tools, compilation effects on execution behaviour, and the quality of student assignments for analysis.
“However, a custom-built symbolic execution tool is used due to three main quality concerns: 1) Computational complexity of existing tools. 2) Impacts of compilation on execution behaviour. 3) Quality of student assignments for analysis.”
Quote in the paperSubstantial claimMay combine two claims.
PremisecitationIn a prior study [12], MOSS performed with poorer results than JPlag but greater results than Sim.
“However, in a prior study [12], MOSS performed with poorer results than JPlag, but greater results than Sim”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [12] 12. H. Cheers, Y. Lin, and S. P. Smith, ''Detecting pervasive source code plagiarism through dynamic program behaviours,'' in Proc. 22nd Aus- tralas. Comput. Educ. Conf. (ACE). New York, NY, USA: Association for Computing Machinery, 2020, pp. 21-30. source
Classified as probably not a substantial claim.
InterpretationreasoningAssuming the overall execution behaviour is unaffected, decision-logic transformations have minimal impact on BPlag's overall similarity.
“However, assuming this does not affect the overall execution behaviour of a program, such transformations would have minimal impact on the overall similarity of a program.”
Quote in the paperSubstantial claim- The authors state this as an assumption: Flipping a relational operator in an if condition does not affect the overall execution behaviour of a program.
May combine two claims.
InterpretationreasoningBPlag does not need system library behaviour, so stubbing library interactions reduces computation.
“BPlag is not concerned with the behaviour of system libraries, hence by stubbing their interaction it lowers the amount of computation.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Study design and conductreasoningThe number of variants generated at each transformation level is increased to offset the increasing number of potential transformations at each level.
“The number of variants generated at each transformation level is increased to offset an increasing number of potential transformations to be selected at each level.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningConstraint solving is computationally intensive and is not needed by BPlag.
“Solving constraints is a computationally intensive process, and is not required by BPlag.”
Quote in the paperSubstantial claimThe quote only partly states this claim.
InterpretationreasoningL6 transformations are expected to impact BPlag's similarity evaluation.
“However, L6 transformations are expected to have an impact upon the approach.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningFunctional equivalence analysis would likely identify all correct assignment implementations as plagiarised, causing a disastrous false positive rate.
“Hence, would most likely result in identifying all correct assignment implementations that are plagiarised, and hence a disastrous false positive rate.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningTwo unrelated programs may exhibit similarity in data model, data processing, and library calls, but it is not expected that any two given programs will have identical PIDG representations unless they have been plagiarised.
“It is expected that two unrelated programs may exhibit similarity in these three aspects, however, it is not expected that any two given programs will have identical representations unless they have been plagiarised.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S4 (based).
Interpretationnone givenNoise filtering can remove non-functional junk represented on PIDGs.
“Noise filtering can be used to remove any non-functional 'junk' that is represented on the PIDGs.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Study design and conductreasoningAll similarity scores representing known academic misconduct cases were removed from the data sets to ensure only generated variants were considered plagiarised.
“To maintain the integrity of the experiment (in that only generated variants are considered plagiarised), all scores representing the known cases of academic misconduct are removed from the data sets.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
InterpretationreasoningThis allows SCPDTs to be compared by the number of errors they make when evaluating program similarity.
“This allows for comparison of SCPDTs in terms of the number of errors they make when evaluating program similarity.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
InterpretationreasoningThe overlap coefficient evaluates high similarity between two programs when one program is a subset of another.
“This would evaluate a high similarity between two programs when one program is a subset of another.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S4 (based).
Interpretationnone givenA SCPDT that commits many errors is considered less accurate than one that commits few errors.
“A SCPDT that commits many errors is considered to be less accurate than a tool that commits few errors.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim. May combine two claims.
PremisecitationA SCPDT does not detect plagiarism; it identifies indications of plagiarism.
“Contrary to as the name suggests, a SCPDT does not detect plagiarism.Instead, a SCPDT identifies indications of plagiarism [7].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [7] 7. M. Joy and M. Luck, ''Plagiarism in programming assignments,'' IEEE Trans. Educ., vol. 42, no. 2, pp. 129-133, May 1999. source
Classified as probably not a substantial claim.
Premisenone givenThere is no consensus on what is considered a high similarity.
“However, there is no consensus as to what is considered a high similarity.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningBPlag measures behavioural similarity and is largely immune to transformations except those that modify its behavioural representation.
“This is opposed to BPlag that measures the behavioural similarity of programs, and as a result is largely immune to the transformations, except those that modify its behavioural representation of the source code.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Interpretationnone givenUsing this evaluation method allows accuracy to be measured by the relative value of plagiarised and innocent similarity scores.
“Using this evaluation method allows for measuring accuracy by the relative value of plagiarised and innocent similarity scores.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningBPlag is inherently more complex and requires a greater run time.
“Hence, BPlag is inherently more complex, requiring a greater run time.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningBPlag affords accurate identification of plagiarism indications in a single execution, especially with plagiarism-hiding transformations.
“This is afforded by BPlag.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Interpretationown dataThis agrees with the large average drop in similarity when exposed to L3+ transformations in Fig. 5.
“This agrees with the large average drop in similarity when exposed to L3+ transformations in Fig. 5.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
InterpretationreasoningErrors were expected because value injection is a known vulnerability of BPlag.
“Thus, it was expected errors would occur as this is a known vulnerability of BPlag.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S4 (based).
Interpretationnone givenMulti-processing can distort the perceived efficiency of tools.
“As multi-processing is utilised, it can distort the perceived efficiency of the tools.”
Quote in the paperNot a substantial claimMay combine two claims.
Study design and conductreasoningSPPlagiarise does not implement L6 transformations, and extending it to support them meaningfully was left out of this work.
“Furthermore, SPPlagiarise does not implement L6 transformations.”
- Also stated in: § A. GENERATED EVALUATION TEST DATA · plain
“Hence, extending SPPlagiarise to support L6 transformations in a meaningful manner was omitted from this work.”
Quote in the paperSubstantial claim- Also stated in: § A. GENERATED EVALUATION TEST DATA · plain
Probably not a substantial claim: may not pass S4 (based).
Interpretationnone givenThe greater computational complexity does not make BPlag infeasible to use.
“However, the greater computational complexity does not make the approach infeasible to use.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningFor either attack to substantially affect similarity evaluation, it would have to rewrite large parts of a program or add a great deal of code to enlarge the PIDGs.
“for either attacks to have a significant impact on the evaluation of similarity, it would require rewriting significant portions of a program, or adding large quantities of code to increase the size of PIDGs.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningBPlag was designed to be robust to plagiarism-hiding transformations and accurate in detecting pervasively transformed works.
“The approach to SCPD utilised by BPlag was designed to be both robust to plagiarism-hiding transformations, and accurate in the detection pervasively transformed works.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningThese results are largely consistent with experiment 1.
“Hence, these results are largely consistent with experiment 1.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningBPlag still has a much greater run time because many graphs are extracted per program and all require pairwise comparison.
“However, BPlag still has a much greater run time due to the sheer number of graphs extracted to represent a single program that all require pairwise comparison.”
Quote in the paperSubstantial claimMay combine two claims.
Interpretationown dataRemoving injected noise allows BPlag to evaluate a much higher similarity score, reducing errors.
“By removing any injected noise into the programs, BPlag is capable of evaluating a much higher similarity score, that overall reduces the occurrence of errors.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim. May combine two claims.
InterpretationreasoningUsing real data sets would provide a more authentic evaluation but would limit evaluation data set size and the scope of encountered plagiarism-hiding transformations.
“If real data sets were used it would provide a more authentic evaluation of the SCPDTs, however, as discussed, if real data sets were used it would limit the size of the evaluation data sets, and limit the scope of encountered plagiarism-hiding transformations.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S4 (based).
Premisenone givenA SCPDT is typically used once per assessment task to identify indications of plagiarism.
“A SCPDT is typically used once per assessment task to identify indications of plagiarism.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.
InterpretationreasoningBPlag and the five SCPDTs it was compared with are expected to become less robust and less accurate when L6 transformations are present.
“However, it can be expected that BPlag, along with the five compared SCPDTs, will suffer a decrease in robustness and accuracy in the presence of such L6 transformations.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningAmalgamating the three stages into a single program can result in poor efficiency due to JVM garbage collection.
“If the three stages are amalgamated into a single program, it can result in poor efficiency.This is caused by the JVM garbage collector constantly working to free up heap space”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Study design and conductreasoningThe use of generated test data is a notable limitation of the evaluation.
“However, the use of generated test data is a notable limitation of the evaluation.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningThis adds the cost of passing data between the three stages on disk.
“However, this is at the added cost of passing data between the three stages on disk.”
Quote in the paperNot a substantial claimMay combine two claims.
Study design and conductreasoningData sets differ greatly in their source code composition, and a transformation can only be applied where a valid location for it exists, so different base programs can produce different numbers of applied transformations.
“All data sets have very different compositions in terms of source code (i.e. the number and type of declarations, statements and expressions); and each source code transformation applied by SPPlagiarise can only be used if there is a valid location for it to applied in code.”
Quote in the paperSubstantial claimMay combine two claims.
Study design and conductnone givenEvery transformation used in the evaluation was applied so that the base program's correctness is preserved and the resulting variant still compiles.
“All implemented transformations are applied in a manner that maintains the correctness of the base program, ensuring that the generated variant can be compiled.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningConsidering both results, BPlag is the most accurate tool on this data set, with and without the accommodations for value-injecting transformations.
“Hence, in consideration of both results, BPlag is shown to be the most accurate tool on this data set, both with and without the described accommodations for value-injecting transformations.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningThe results roughly correspond to the robustness evaluation in Fig. 5.
“The results roughly correspond to the robustness evaluation in Fig. 5.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Interpretationnone givenPIDG construction and comparison can consume large amounts of memory.
“The construction and comparison of PIDGs can consume large amounts of memory, hence the parallelism of the last 2 phases of BPlag is limited for stability and reliability.”
Quote in the paperNot a substantial claimMay combine two claims.
Study design and conductreasoningThe evaluation covers only a subset of the transformations and combinations that could be used to conceal plagiarism; more exist than were tested.
“However, there are many more than 19 source code transformations that could be applied to hide plagiarism, and in many combinations than that was evaluated in this experiment.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningThis vulnerability includes functionally-equivalent code and value-injecting transformations.
“That is by transforming to functionally-equivalent code or the identified value-injecting transformations.”
Quote in the paperSubstantial claimMay combine two claims.
Study design and conductreasoningThe compared SCPDTs do not incur significant garbage collection overhead, so this does not give BPlag an unfair advantage.
“The compared SCPDTs do not incur a significant garbage collection overhead, hence this does not provide an unfair advantage for BPlag.”
Quote in the paperNot a substantial claimMay combine two claims.
Study design and conductreasoningBPlag was not evaluated on real cases of plagiarism, but it was evaluated on a larger and more comprehensive data set with more samples of plagiarism-hiding transformations.
“While BPlag was not evaluated on real cases of plagiarism, it was evaluated on a more comprehensive data set, being larger and containing more samples of plagiarism-hiding transformations.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Premisenone givenBPlag combines two computationally intensive areas: symbolic execution and graph similarity.
“BPlag combines two computationally intensive areas: symbolic execution and graph similarity.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningTest data generation was used to balance a perceived quality issue in the evaluation data set and to allow a semi-reproducible evaluation.
“Test data generation was used to balance a perceived issue of quality in the evaluation data set, and to allow for a semi-reproducible evaluation.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Interpretationnone givenFingerprinting treats signs of plagiarism as a subset of a program, whereas BPlag determines the global similarity of two programs by comparing all the execution behaviour it represents.
“In comparison, fingerprinting identifies indications of plagiarism as a 'subset' of a program.This is in contrast to BPlag that identifies the 'global' similarity of two programs by comparing all represented execution behaviour.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningBPlag resembles these program plagiarism detection tools in that it measures similarity by behavioural means.
“BPlag is similar to these works by measuring similarity with behavioural means.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningBPlag suits high-level languages best, since it exploits Java's simplified execution model, and it can generally be applied to any language with a comparable simplified execution model.
“The approach is most appropriate to highlevel languages as the design of BPlag takes advantage of the simplified execution model of Java, and can in general, be applied to any programming language that uses similar simplified execution models.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningRe-applying BPlag to another language is done by substituting a symbolic executor for that language and adjusting the PIDG elements to cover any language features not currently supported.
“This can be achieved by replacing the current symbolic executor component with a symbolic executor for another targeted language, and modifying the represented PIDG elements to express any otherwise currently unsupported language features (if required).”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Premisenone givenBPlag is designed as a source code plagiarism detection tool.
“Overall, BPlag is designed as a SCPDT.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningBPlag's design can be applied again to other high-level object-oriented languages, especially those that are interpreted or compiled to an intermediate high-level binary form.
“However, the design of BPlag can be re-applied to other high-level object-oriented programming languages, and in particular those that are interpreted or intermediately compiled to a high-level binary representation.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationLoPD judges program similarity from the program logic that is implemented, in order to decide whether two programs are semantically equivalent.
“LoPD identifies the similarity of programs based on their implemented program logic to determine if they are semantically equivalent.”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [34] 34. F. Zhang, D. Wu, P. Liu, and S. Zhu, ''Program logic based software plagiarism detection,'' in Proc. IEEE 25th Int. Symp. Softw. Rel. Eng., Nov. 2014, pp. 66-77. source
- cites [54] 54. J. Ming, F. Zhang, D. Wu, P. Liu, and S. Zhu, ''Deviation-based obfuscation-resilient program equivalence checking with application to software plagiarism detection,'' IEEE Trans. Rel., vol. 65, no. 4, pp. 1647-1664, Jun. 2016. source
Classified as probably not a substantial claim.
PremisecitationLow-level languages that allow raw memory access and pointer arithmetic are known to cause problems with memory aliasing and arrays, because the memory location referenced by pointer arithmetic cannot always be determined.
“For example, low-level languages that support raw memory access and pointer arithmetic are known to pose issues with memory aliasing and arrays as it is not always determinable what memory location is being referred to with pointer arithmetic [52].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [52] 52. R. A. DeMilli and A. J. Offutt, ''Constraint-based automatic test data gen- eration,'' IEEE Trans. Softw. Eng., vol. 17, no. 9, pp. 900-910, Sep. 1991. source
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationCop finds similar components between two programs by analysing their semantics, that is behaviour, using symbolic execution.
“Cop identifies similar components between two programs by analysing semantics (behaviour) through symbolic execution.”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [35] 35. L. Luo, J. Ming, D. Wu, P. Liu, and S. Zhu, ''Semantics-based obfuscation- resilient binary code similarity comparison with applications to software and algorithm plagiarism detection,'' IEEE Trans. Softw. Eng., vol. 43, no. 12, pp. 1157-1177, Dec. 2017. source
- cites [53] 53. L. Luo, J. Ming, D. Wu, P. Liu, and S. Zhu, ''Semantics-based obfuscation- resilient binary code similarity comparison with applications to software plagiarism detection,'' in Proc. 22nd ACM SIGSOFT Int. Symp. Found. Softw. Eng. (FSE). New York, NY, USA: Association for Computing Machinery, 2014, pp. 389-400, doi: 10.1145/2635868.2635900. source
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationVaPD characterises programs using a fingerprinting method based on values.
“VaPD implements a value-based fingerprinting method to characterise programs.”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [32] 32. Y.-C. Jhi, X. Wang, X. Jia, S. Zhu, P. Liu, and D. Wu, ''Value-based pro- gram characterization and its application to software plagiarism detection,'' in Proc. 33rd Int. Conf. Softw. Eng. (ICSE), 2011, pp. 756-765. source
- cites [55] 55. Y. Jhi, X. Jia, X. Wang, S. Zhu, P. Liu, and D. Wu, ''Program charac- terization using runtime values and its application to software plagiarism detection,'' IEEE Trans. Softw. Eng., vol. 41, no. 9, pp. 925-943, Apr. 2015. source
Probably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningExtending BPlag to low-level languages would require accommodating the limitations that symbolic execution has for those languages.
“But any extension to low-level languages would require making accommodations for the limitations of symbolic execution applied to such languages.”
Quote in the paperNot a substantial claimMay combine two claims.
PremisereasoningBPlag does not detect plagiarism by looking for functionally equivalent code, because academic assignments are expected to be largely functionally equivalent.
“Similarly, BPlag does not seek to identify plagiarism by identifying functionally equivalent code, due to the expectation that academic assignments are expected to be largely functionally equivalent.”
Quote in the paperSubstantial claim- Rests on an assumption: Academic programming assignments are expected to be largely functionally equivalent to one another.
May combine two claims.
InterpretationreasoningIn the presence of plagiarism-hiding transformations, BPlag is more robust and more accurate than the source code plagiarism detection tools currently available.
“This is opposed to BPlag that is more robust and accurate in the presence of plagiarism-hiding transformations as it measures the behavioural similarity of source code.”
- Also stated in: § VII. RELATED WORK · plain
“However, as seen from the results of the evaluation, utilising similar approaches has resulted in a SCPDT that is both more robust and accurate than currently available SCPDTs.”
- Also stated in: § VIII. CONCLUSION AND FUTURE WORK · boosted
“The presented evaluations support that in the presence of pervasive plagiarism-hiding transformations: BPlag is both more robust to source code transformations, and more accurate in detecting the simulated plagiarised programs.”
Quote in the paperSubstantial claim- Rests on an assumption: The five SCPDTs compared against BPlag are representative of the source code plagiarism detection tools currently available.
- Also stated in: § VII. RELATED WORK · plain
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationVaPD determines program similarity by analysing, at runtime, the values held in memory while a program executes.
“VaPD identifies program similarity through runtime execution analysis of the values stored in memory during program execution.”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [32] 32. Y.-C. Jhi, X. Wang, X. Jia, S. Zhu, P. Liu, and D. Wu, ''Value-based pro- gram characterization and its application to software plagiarism detection,'' in Proc. 33rd Int. Conf. Softw. Eng. (ICSE), 2011, pp. 756-765. source
- cites [55] 55. Y. Jhi, X. Jia, X. Wang, S. Zhu, P. Liu, and D. Wu, ''Program charac- terization using runtime values and its application to software plagiarism detection,'' IEEE Trans. Softw. Eng., vol. 41, no. 9, pp. 925-943, Apr. 2015. source
Probably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningThe lower efficiency was anticipated, given BPlag's complexity and the room for further optimisation such as comparison pruning.
“This was expected due to the complexity of BPlag, and the potential for further optimisation (e.g.comparison pruning).”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Premisenone givenCoP and LoPD search for functional equivalence between two programs by means of input-output relations.
“CoP and LoPD look for elements of functional equivalence between two programs through input-output relations.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Study design and conductnone givenAs currently implemented, BPlag can analyse only Java source code.
“The current implementation of BPlag is limited to the analysis of Java source code.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningIn theory BPlag could also be applied to low-level languages such as C or C++, provided a suitable symbolic executor is used.
“However, it could also be in theory applied to low-level languages such as C or C++ by using an appropriate symbolic executor component.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Premisenone givenBPlag targets the most extreme cases of academic source code plagiarism, in which a skilled plagiariser has transformed source code pervasively and submitted it as their own.
“BPlag is intended to identify the most extreme cases of academic source code plagiarism, where a skilled plagiariser has pervasively transformed source code, and submitted it as their own work.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningBecause transformations used to hide plagiarism are mostly structural and cosmetic, this constitutes a serious weakness of existing tools.
“As plagiarism-hiding transformations are largely structural and cosmetic in nature, this is a significant vulnerability of existing tools.”
Quote in the paperSubstantial claim- Rests on an assumption: Plagiarism-hiding transformations are mostly structural and cosmetic in nature.
Classified as probably not a substantial claim.
Premisenone givenTools for detecting program plagiarism usually examine binaries or execution traces to find similarity fingerprints that may indicate a stolen program or component.
“Program plagiarism detection tools typically analyse program binaries or execution traces to identify 'fingerprints' of similarity that may indicate a program (or a component of it) has been stolen.”
Quote in the paperSubstantial claim
The authors state this as an assumption.
Program behaviour is a uniquely identifying feature, and similar behaviours indicate similar programs.
“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.”
The authors state this as an assumption.
Flipping a relational operator in an if condition does not affect the overall execution behaviour of a program.
“However, assuming this does not affect the overall execution behaviour of a program, such transformations would have minimal impact on the overall similarity of a program.”
The authors state this as an assumption.
MOSS would have performed similarly in this evaluation as in the prior study [12] if it had been included.
“However, in a prior study [12], MOSS performed with poorer results than JPlag, but greater results than Sim; hence similar results can be assumed in its absence.”
The paper relies on this without support.
Any two sufficiently complex programs will have some usage of primary operators and API method calls.
“This is as in any two sufficiently complex programs, it can be guaranteed there will be some usage of primary operators and API method calls.”
The authors state this as an assumption.
The initial self-similarity value is the highest possible similarity each SCPDT can measure for a base program compared to its variants.
“The initial similarity value is considered to be the highest possible similarity value each SCPDT can measure for a base program compared to its variants.”
The paper relies on this without support.
The 3 utilised transformation chance values are sufficient for this experiment.
“Higher transformation chances could be applied for generated test data, however, the 3 utilised values are sufficient for this experiment.”
The paper relies on this without support.
Existing symbolic execution tools require compilable assignments and would fail on submissions with errors.
“If an existing symbolic execution tool was applied, it would stop BPlag from analysing such submissions; as it would require analysing only compilable assignments.”
The paper relies on this without support.
The standard Java compiler may rewrite and transform conditional code.
“While the standard Java compiler is known not to optimise bytecode, it was observed that it may rewrite and transform conditional code.”
The paper relies on this without support.
L4 and L5 transformations do not modify the behaviour of a program.
“This is expected, as L4 and L5 transformations do not modify the behaviour of a program.”
The paper relies on this without support.
The behaviour of a program typically does not change because of plagiarism-hiding transformations.
“In doing so the approach analyses the behaviour of assignment submissions, as the behaviour of a program typically does not change due to plagiarism-hiding transformations.”
The paper relies on this without support.
The applied source code transformations are mostly structural and cosmetic in nature.
“As the applied source code transformations are mostly structural and cosmetic in nature, they are shown to have a considerable impact on the tools ability to measure similarity.”
The paper relies on this without support.
The applied source code transformations are representative of those used by undergraduate plagiarisers.
“This is an important observation as these tools measure similairty through aspects of source code that are modified by undergraduate plagiarisers.”
The authors state this as an assumption.
BPlag can cope with plagiarism-hiding transformations that are cosmetic or structural, and with those that preserve semantics and behaviour.
“In general, it can be assumed that BPlag is capable of accommodating for plagiarism-hiding transformations that are cosmetic or structural in nature (as expected from undergraduate plagiarism), and those that are semantics and behaviour-preserving.”
The paper relies on this without support.
Academic programming assignments are expected to be largely functionally equivalent to one another.
“due to the expectation that academic assignments are expected to be largely functionally equivalent.”
The paper relies on this without support.
Plagiarism-hiding transformations are mostly structural and cosmetic in nature.
“As plagiarism-hiding transformations are largely structural and cosmetic in nature”
The paper relies on this without support.
The five SCPDTs compared against BPlag are representative of the source code plagiarism detection tools currently available.
“utilising similar approaches has resulted in a SCPDT that is both more robust and accurate than currently available SCPDTs.”
The paper relies on this without support.
The way SPPlagiarise applies its transformations matches how undergraduate plagiarisers apply transformations.
“The transformations are applied in a manner characteristic of undergraduate plagiarisers.”
Cites
The program dependence graph and its use in optimization
Ferrante, J., Ottenstein, K. J., & Warren, J. D. (1987) · ACM Transactions on Programming Languages and Systems · doi:10.1145/24039.24041 · Cited by 2,755 · cited 1× · see citing works
“Semantic approaches typically analyse a program through program dependence graphs [25].”
BackgroundClone detection using abstract syntax trees
Baxter, I. D., Yahin, A., Moura, L., Sant'Anna, M., & Bier, L. (2002) · Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272) · doi:10.1109/icsm.1998.738528 · Cited by 1,277 · cited 1× · see citing works
“While accurate, sub-graph isomorphism suffers from high computational complexity and does not scale to large graph sizes [26], [44].”
BackgroundEfficient randomized pattern-matching algorithms
Karp, R. M., & Rabin, M. O. (1987) · IBM Journal of Research and Development · doi:10.1147/rd.312.0249 · Cited by 1,268 · cited 1× · see citing works
“Rabin Greedy-String-Tiling algorithm [45] where tokens from one file are covered over another within a tolerance of mismatch.”
Schleimer, S., S, W. D., & Aiken, A. (2003) · Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data · doi:10.1145/872757.872770 · Cited by 1,099 · cited 8× · see citing works
“Unfortunately, MOSS proved to be unreliable in its use, as it cannot be run locally (MOSS is only made available as a web service).”
BackgroundMethodInfluentialConstraint-based automatic test data generation
DeMilli, R. A., & Offutt, A. J. (1991) · IEEE Transactions on Software Engineering · doi:10.1109/32.92910 · Cited by 804 · cited 1× · see citing works
“For example, low-level languages that support raw memory access and pointer arithmetic are known to pose issues with memory aliasing and arrays as it is not always determinable what memory location is being referred to with pointer arithmetic [52].”
BackgroundA survey of symbolic execution techniques
Baldoni, R., Coppa, E., D’elia, D. C., Demetrescu, C., & Finocchi, I. (2019) · ACM Computing Surveys · doi:10.1145/3182657 · Cited by 708 · see citing works
GPLAG: detection of software plagiarism by program dependence graph analysis
Liu, C., Chen, C., Han, J., & Yu, P. S. (2006) · Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining · doi:10.1145/1150402.1150522 · Cited by 422 · cited 1× · see citing works
“While accurate, sub-graph isomorphism suffers from high computational complexity and does not scale to large graph sizes [26], [44].”
BackgroundPlagiarism in programming assignments
Joy, M., & Luck, M. (1999) · IEEE Transactions on Education · doi:10.1109/13.762946 · Cited by 299 · cited 12× · see citing works
“[7] M. Joy and M. Luck, ‘‘Plagiarism in programming assignments,’’ IEEE Trans.”
BackgroundMethodInfluentialLuo, L., Ming, J., Wu, D., Liu, P., & Zhu, S. (2014) · Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering · doi:10.1145/2635868.2635900 · Cited by 220 · cited 1× · see citing works
“Such tools implement similar methods in how program similarity is analysed, for example similar tools include: Cop [35], [53], LoPD [34], [54], and VaPD [32], [55].”
MethodComputer algorithms for plagiarism detection
Parker, A., & Hamblen, J. O. (1989) · IEEE Transactions on Education · doi:10.1109/13.28038 · Cited by 216 · see citing works
Faidhi, J. A. W., & Robinson, S. K. (1987) · Computers & Education · doi:10.1016/0360-1315(87)90042-x · Cited by 198 · cited 6× · see citing works
“Such source code transformations are typically cosmetic in nature, in that they change the appearance and structure of the source code [6], [7], [10], but retain the original behaviour of the plagiarised assignment.”
BackgroundMethodInfluentialFirst‐year university science and engineering students’ understanding of plagiarism
Yeo, S. (2007) · Higher Education Research & Development · doi:10.1080/07294360701310813 · Cited by 182 · cited 1× · see citing works
“Studies have indicated between 50% to 79% of undergraduate students will plagiarise at least once during their academic careers [1]–[4].”
BackgroundAn Approach to Source-Code Plagiarism Detection and Investigation Using Latent Semantic Analysis
Cosma, G., & Joy, M. S. (2011) · IEEE Transactions on Computers · doi:10.1109/tc.2011.223 · Cited by 178 · cited 1× · see citing works
“semantic analysis to identify similarly referenced terms [29] or identifying similar call graph structures [30].”
BackgroundGitchell, D., & Trân, N. (1999) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/299649.299783 · Cited by 163 · see citing works
Sheard, J., Markham, S., & Dick, M. (2003) · Higher Education Research & Development · doi:10.1080/0729436032000056526 · Cited by 147 · cited 1× · see citing works
“This is as a plagiariser is commonly somebody who is either: inept, lazy or time-poor [7], [36], [37].”
BackgroundThe program dependence graph and its use in optimization
Ferrante, J., Ottenstein, K. J., & Warren, J. D. (1984) · Lecture notes in computer science · doi:10.1007/3-540-12925-1_33 · Cited by 147 · see citing works
Towards a Definition of Source-Code Plagiarism
Cosma, G., & Joy, M. (2008) · IEEE Transactions on Education · doi:10.1109/te.2007.906776 · Cited by 146 · cited 1× · see citing works
“Subsequently, source code plagiarism can be suspected when either: one assignment shares a large subset of code with another [5] (e.”
BackgroundLuo, L., Ming, J., Wu, D., Liu, P., & Zhu, S. (2017) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2017.2655046 · Cited by 144 · see citing works
A comparison of code similarity analysers
Ragkhitwetsagul, C., Krinke, J., & Clark, D. (2018) · Empirical Software Engineering · doi:10.1007/s10664-017-9564-7 · Cited by 122 · cited 1× · see citing works
“set generation for the evaluation of code similarity tools [46]–[48].”
BackgroundSource-code Similarity Detection and Detection Tools Used in Academia: A Systematic Review
Novak, M., Joy, M., & Kermek, D. (2019) · ACM Transactions on Computing Education · doi:10.1145/3313290 · Cited by 117 · cited 5× · see citing works
“To aid in the detection of source code plagiarism, many Source Code Plagiarism Detection Tools (SCPDTs) [8], [9] have been proposed.”
BackgroundResultInfluentialBehavior based software theft detection
Wang, X., Jhi, Y.-C., Zhu, S., & Liu, P. (2009) · Proceedings of the 16th ACM conference on Computer and communications security · doi:10.1145/1653662.1653696 · Cited by 101 · cited 1× · see citing works
“usage patterns [39], heap structures [40], and API method call sequences [33], [41].”
MethodAhtiainen, A., Surakka, S., & Rahikainen, M. (2006) · Koli Calling International Conference on Computing Education Research · doi:10.1145/1315803.1315831 · Cited by 84 · cited 8× · see citing works
“Plaggie and Sherlock-S are consistently ranked fifth and sixth, both having significantly higher error counts than the other tools.”
MethodInfluentialValue-based program characterization and its application to software plagiarism detection
Jhi, Y.-C., Wang, X., Jia, X., Zhu, S., Liu, P., & Wu, D. (2011) · Proceedings of the 33rd International Conference on Software Engineering · doi:10.1145/1985793.1985899 · Cited by 83 · cited 5× · see citing works
“Such tools implement similar methods in how program similarity is analysed, for example similar tools include: Cop [35], [53], LoPD [34], [54], and VaPD [32], [55].”
MethodInfluentialCurtis, G. J., & Popal, R. (2011) · International Journal for Educational Integrity · doi:10.21913/ijei.v7i1.742 · Cited by 66 · see citing works
Software plagiarism detection: a graph-based approach
Chae, D.-K., Ha, J., Kim, S.-W., Kang, B., & Im, E. G. (2013) · Proceedings of the 22nd ACM international conference on Information & Knowledge Management · doi:10.1145/2505515.2507848 · Cited by 66 · see citing works
Sim: a utility for detecting similarity in computer programs
Gitchell, D., & Tran, N. (1999) · ACM SIGCSE Bulletin · doi:10.1145/384266.299783 · Cited by 62 · see citing works
Software Plagiarism Detection with Birthmarks Based on Dynamic Key Instruction Sequences
Tian, Z., Zheng, Q., Liu, T., Fan, M. Y., Zhuang, E., & Yang, Z. (2015) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2015.2454508 · Cited by 58 · see citing works
Program Logic Based Software Plagiarism Detection
Zhang, F., Wu, D., Liu, P., & Zhu, S. (2014) · 2014 IEEE 25th International Symposium on Software Reliability Engineering · doi:10.1109/issre.2014.18 · Cited by 57 · cited 7× · see citing works
“Such tools implement similar methods in how program similarity is analysed, for example similar tools include: Cop [35], [53], LoPD [34], [54], and VaPD [32], [55].”
BackgroundMethodInfluentialFinding Plagiarisms among a Set of Programs with JPlag
Malpohl, G., Prechelt, L., & Philippsen, M. (2002) · Verlag der Technischen Universität Graz · doi:10.3217/jucs-008-11-1016 · Cited by 56 · cited 5× · see citing works
“Subsequently, structural similarity can be measured with token edit distance or tilingbased approaches [7], [11], [18]–[21].”
BackgroundMethodInfluentialPlagiarism Detection: A Tool Survey and Comparison
Martins, V. T., Fonte, D., Henriques, P. R., & da Cruz, D. (2014) · Schloss Dagstuhl – Leibniz-Zentrum für Informatik · doi:10.4230/oasics.slate.2014.143 · Cited by 53 · cited 2× · see citing works
“The lack of similar approaches to SCPD is supported by the recent literature reviews [8], [9] that identify various structural and/or semantic SCPDTs, however, fail to identify any behavioural SCPDTs.”
ResultDesktop Tools for Offline Plagiarism Detection in Computer Programs
MOZGOVOY, M. (2006) · Informatics in Education · doi:10.15388/infedu.2006.08 · Cited by 46 · see citing works
Karnalim, O. (2016) · 2016 International Conference on Information & Communication Technology and Systems (ICTS) · doi:10.1109/icts.2016.7910274 · Cited by 46 · cited 1× · see citing works
“To ensure the generated programs are representative of undergraduate plagiarism, all implemented source code transformations (listed in table 4) are referenced from prior literature [7], [10], [50], [51], and conform to the first 5 levels of Faidhi and Robinson’s [10] transformation taxonomy.”
MethodAn AST-based Code Plagiarism Detection Algorithm
Zhao, J., Xia, K., Fu, Y., et al. (2015) · doi:10.1109/bwcca.2015.52 · Cited by 44 · see citing works
WASTK: A Weighted Abstract Syntax Tree Kernel Method for Source Code Plagiarism Detection
Fu, D., Xu, Y., Yu, H., & Yang, B. (2017) · Scientific Programming · doi:10.1155/2017/7809047 · Cited by 44 · cited 1× · see citing works
“Other approachesmeasure the structural similarity of parse trees or abstract syntax trees, representing the source code within the grammar of a programming language [22]–[24].”
BackgroundSraka, D., & Kaucic, B. (2009) · Proceedings of the ITI 2009 31st International Conference on Information Technology Interfaces · doi:10.1109/iti.2009.5196127 · Cited by 42 · see citing works
Investigating Student Plagiarism Patterns and Correlations to Grades
Pierce, J., & Zilles, C. B. (2017) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/3017680.3017797 · Cited by 41 · cited 1× · see citing works
“Studies have indicated between 50% to 79% of undergraduate students will plagiarise at least once during their academic careers [1]–[4].”
BackgroundProgram Characterization Using Runtime Values and Its Application to Software Plagiarism Detection
Jhi, Y.-C., Jia, X., Wang, X., Zhu, S., Liu, P., & Wu, D. (2015) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2015.2418777 · Cited by 35 · cited 1× · see citing works
“Such tools implement similar methods in how program similarity is analysed, for example similar tools include: Cop [35], [53], LoPD [34], [54], and VaPD [32], [55].”
MethodSchleimer, S., Wilkerson, D. S., & Aiken, A. (2003) · doi:10.1145/872769.872770 · Cited by 34 · see citing works
Ming, J., Zhang, F., Wu, D., Liu, P., & Zhu, S. (2016) · IEEE Transactions on Reliability · doi:10.1109/tr.2016.2570554 · Cited by 33 · cited 1× · see citing works
“Such tools implement similar methods in how program similarity is analysed, for example similar tools include: Cop [35], [53], LoPD [34], [54], and VaPD [32], [55].”
MethodHeap Graph Based Software Theft Detection
Chan, P. P. F., Hui, L. C. K., & Yiu, S. M. (2013) · IEEE Transactions on Information Forensics and Security · doi:10.1109/tifs.2012.2223685 · Cited by 32 · cited 1× · see citing works
“usage patterns [39], heap structures [40], and API method call sequences [33], [41].”
MethodMeasuring code behavioral similarity for programming and software engineering education
Li, S., Xiao, X., Bassett, B., Xie, T., & Tillmann, N. (2016) · Proceedings of the 38th International Conference on Software Engineering Companion · doi:10.1145/2889160.2889204 · Cited by 30 · cited 1× · see citing works
“For example, analysing the functional equivalence of a program [14], [31], the use of data at runtime [32], identifying similar interactions”
BackgroundEnhancing Levenshtein’s Edit Distance Algorithm for Evaluating Document Similarity
Rani, S., & Singh, J. (2018) · Communications in Computer and Information Science · doi:10.1007/978-981-13-0755-3_6 · Cited by 27 · cited 1× · see citing works
“This is by applying techniques such as string edit distance or string alignment to measure the similarity of source code [7], [15]–[17].”
MethodThe Source Code Plagiarism Detection Using AST
Li, X., & Zhong, X. J. (2010) · Information Processing and Trusted Computing · doi:10.1109/iptc.2010.90 · Cited by 21 · cited 1× · see citing works
“Other approachesmeasure the structural similarity of parse trees or abstract syntax trees, representing the source code within the grammar of a programming language [22]–[24].”
BackgroundPlagiarism Detection for Java Programs without Source Codes
Anjali, V., Swapna, T., & Jayaraman, B. (2015) · Procedia Computer Science · doi:10.1016/j.procs.2015.02.143 · Cited by 18 · cited 2× · see citing works
“with the execution environment [33], or identifying similar program logic [34], [35].”
BackgroundMethodAuthor Identification of Software Source Code with Program Dependence Graphs
Chen, R., Hong, L., Chunyan Lü, C., & Deng, W. (2010) · 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops · doi:10.1109/compsacw.2010.56 · Cited by 13 · see citing works
Detecting Pervasive Source Code Plagiarism through Dynamic Program Behaviours
Cheers, H., Lin, Y., & Smith, S. P. (2020) · Proceedings of the Twenty-Second Australasian Computing Education Conference · doi:10.1145/3373165.3373168 · Cited by 13 · cited 6× · see citing works
“Subsequently, when a plagiarised work is pervasively transformed, SCPDTs can report a low enough similarity that it does not raise suspicion of plagiarism [12].”
BackgroundMethodResultInfluentialA Novel Graph-Based Program Representation for Java Code Plagiarism Detection
Cheers, H., & Lin, Y. (2020) · Proceedings of the 3rd International Conference on Software Engineering and Information Management · doi:10.1145/3378936.3378960 · Cited by 13 · cited 3× · see citing works
“B. REPRESENTING PROGRAM BEHAVIOUR BPlag utilises the Program Interaction Dependency Graph [42] (PIDG) to represent program behaviour for evaluating similarity.”
BackgroundMethodInfluentialSPPlagiarise: A Tool for Generating Simulated Semantics-Preserving Plagiarism of Java Source Code
Cheers, H., Lin, Y., & Smith, S. P. (2019) · IEEE International Conference on Software Engineering and Service Science (ICSESS) · doi:10.1109/icsess47205.2019.9040853 · Cited by 12 · see citing works
COAT: Code Obfuscation Tool to Evaluate the Performance of Code Plagiarism Detection Tools
Ko, S., Choi, J., & Kim, H. (2017) · International Conference on Software Security and Assurance (ICSSA) · doi:10.1109/icssa.2017.29 · Cited by 11 · see citing works
ForkSim: Generating software forks for evaluating cross-project similarity analysis tools
Svajlenko, J., Roy, C. K., & Duszynski, S. (2013) · doi:10.1109/scam.2013.6648182 · Cited by 10 · cited 1× · see citing works
“set generation for the evaluation of code similarity tools [46]–[48].”
BackgroundPrado, B., Bispo, K., & Andrade, R. (2018) · Proceedings of the 20th International Conference on Enterprise Information Systems · doi:10.5220/0006668705170524 · Cited by 9 · cited 1× · see citing works
“semantic analysis to identify similarly referenced terms [29] or identifying similar call graph structures [30].”
BackgroundAn Input/Output Semantics for Distributed Program Equivalence Reasoning
Bertran, M., Babot, F.-X., & Climent, A. (2005) · Electronic Notes in Theoretical Computer Science · doi:10.1016/j.entcs.2005.01.038 · Cited by 9 · see citing works
Software similarity analysis based on dynamic stack usage patterns
Park, J., Son, D., Kang, D., Choi, J., & Jeon, G. (2015) · ACM Conference on Research in Adaptive and Convergent Systems (RACS) · doi:10.1145/2811411.2811508 · Cited by 5 · cited 1× · see citing works
“usage patterns [39], heap structures [40], and API method call sequences [33], [41].”
MethodVariations on a Theme: Academic Integrity and Program Code
Simon, Myers, T., Hardy, D., & Mason, R. (2019) · Proceedings of the Twenty-First Australasian Computing Education Conference · doi:10.1145/3286960.3286967 · Cited by 4 · cited 1× · see citing works
“This is as a plagiariser is commonly somebody who is either: inept, lazy or time-poor [7], [36], [37].”
BackgroundAlgorithm to Determine Extended Edit Distance between Program Codes
Anzai, K., & Watanobe, Y. (2019) · doi:10.1109/mcsoc.2019.00033 · Cited by 4 · cited 1× · see citing works
“Subsequently, structural similarity can be measured with token edit distance or tilingbased approaches [7], [11], [18]–[21].”
Background
Flagged first, then by citations
2 of the 57 references couldn’t be matched to a known paper.
Research works printed but not linked: 3
- grune, 1989, Het detecteren van kopieën bij informatica-practica, Informatie, 31, 864
- 2020, BPlag Source Code Plagiarism Detection Tool
- pike, 2021, The sherlock plagiarism detector
Cited by
Sorted by citations
Dunder, N., Lundborg, S., Wong, J., & Viberg, O. (2024) · International Conference on Learning Analytics and Knowledge (LAK) · doi:10.1145/3636555.3636882 · Cited by 42 · see citing works
“Such AI-powered technologies include various types of intelligent tutoring systems (for an overview, see [6]), plagiarism detection tools [5] and auto-grading tools such as Kattis (e.g., [2]).”
BackgroundStop Reinventing the Wheel! Promoting Community Software in Computing Education
Blanchard, J. J., Hott, J. R., Berry, V., Carroll, R., Edmison, B., Glassey, R. J., Karnalim, O., Plancher, B., & Russell, S. (2022) · ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE) · doi:10.1145/3571785.3574129 · Cited by 35 · see citing works
“BPlag [34] is a Java plagiarism detector that deals with extreme code disguises, where the copied code looks completely different to the original one although sharing the same semantic.”
BackgroundDetecting AI assisted submissions in introductory programming via code anomaly
Karnalim, O., Toba, H., & Johan, M. C. (2024) · Education and Information Technologies · doi:10.1007/s10639-024-12520-6 · Cited by 35 · see citing works
Dolos: Language‐agnostic plagiarism detection in source code
Maertens, R., Petegem, C. V., Strijbol, N., Baeyens, T., Jacobs, A. C., Dawyndt, P., & Mesuere, B. (2022) · Journal of Computer Assisted Learning · doi:10.1111/jcal.12662 · Cited by 37 · see citing works
A Deep Learning Approach for Malware and Software Piracy Threat Detection
Aldriwish, K. (2021) · Engineering Technology & Applied Science Research · doi:10.48084/etasr.4412 · Cited by 30 · see citing works
“Authors in [21] introduced a behavioral approach called BPlag to detect source code plagiarism.”
BackgroundA new era of plagiarism the danger of cheating using AI
Xiao, Y., Chatterjee, S., & Gehringer, E. (2022) · 2022 20th International Conference on Information Technology Based Higher Education and Training (ITHET) · doi:10.1109/ithet56107.2022.10031827 · Cited by 23 · see citing works
“What’s more, coding questions in engineering education, especially for undergraduate students, are relatively shallow, rendering measuring behavior similarity for these vastly different code pieces less effective [14], [15].”
BackgroundReview of Code Similarity and Plagiarism Detection Research Studies
Lee, G., Kim, J., Choi, M.-S., Jang, R.-Y., & Lee, R. (2023) · Applied Sciences · doi:10.3390/app132011358 · Cited by 15 · see citing works
Maintaining Academic Integrity in Programming: Locality-Sensitive Hashing and Recommendations
Karnalim, O. (2023) · Education Sciences · doi:10.3390/educsci13010054 · Cited by 14 · see citing works
Detecting Automatic Software Plagiarism via Token Sequence Normalization
Sağlam, T., Brödel, M., Schmid, L., & Hahner, S. (2024) · Proceedings of the IEEE/ACM 46th International Conference on Software Engineering · doi:10.1145/3597503.3639192 · Cited by 9 · see citing works
“Cheers et al. [11] present the plagiarism detector BPlag.”
BackgroundLayered similarity detection for programming plagiarism and collusion on weekly assessments
Karnalim, O., Simon, N. P., & Chivers, W. (2022) · Computer Applications in Engineering Education · doi:10.1002/cae.22553 · Cited by 9 · see citing works
“There are at least four kinds of program structure representation used for this purpose: token strings from code [37, 41], token strings from executable files [17, 21], syntax trees [14, 34], and program dependency graphs [7, 29].”
BackgroundHuang, Y., Qiao, M., Liu, F., et al. (2022) · Computers & Security · doi:10.1016/j.cose.2022.102607 · Cited by 8 · see citing works
Antonius, F., Orosoo, M., Aanandha Saravanan, K., et al. (2023) · International Journal of Advanced Computer Science and Applications · doi:10.14569/ijacsa.2023.0140944 · Cited by 6 · see citing works
“[28] proposed Plagiarism within the code itself has long been a problem in postsecondary computing teaching.”
BackgroundWatcher: Cloud-Based Coding Activity Tracker for Fair Evaluation of Programming Assignments
Kim, Y., Lee, K., & Park, H. (2022) · Sensors · doi:10.3390/s22197284 · Cited by 6 · see citing works
“Another study [12] proposed a plagiarism detection tool called BPlag, which overcomes plagiarism-hiding transformations that modify the original source code to hide the act of plagiarism.”
BackgroundApplication of Java Relationship Graphs to Academics for Detection of Plagiarism in Java Projects
Tyagi, D., Arora, R., & Sharma, Y. (2022) · Lecture notes in networks and systems · doi:10.1007/978-981-16-5987-4_76 · Cited by 6 · see citing works
Material Survey on Source Code Plagiarism Detection in Programming Courses
Alexandra-Cristina, C., & Olteanu, A.-C. (2022) · IEEE International Conference on Advanced Learning Technologies (ICALT) · doi:10.1109/icalt55010.2022.00119 · Cited by 5 · see citing works
Liu, Z., Xing, W., Jiao, X., Li, C., & Zhu, W. (2025) · Education and Information Technologies · doi:10.1007/s10639-025-13385-z · Cited by 6 · see citing works
“In conclusion, existing tools primarily target higher education and mainstream programming languages (Cheers et al., 2021a; Karnalim et al., 2021), leaving K-12 education and pseudocode plagiarism detection underexplored.”
InfluentialIdentifying Plagiarised Programming Assignments with Detection Tool Consensus
Cheers, H., Lin, Y., & Yan, W. (2022) · Informatics in Education · doi:10.15388/infedu.2023.05 · Cited by 4 · see citing works
“BPlag (Cheers et al., 2021a) is a recently proposed behavioural SCPDT that analyses the behavioural similarity of programs by identifying common execution behaviours through a process based on symbolic execution.”
BackgroundMethodProfiles of Technology Use and Plagiarism in High School EducationPreprint
Torres-Díaz, J. C., Torres-Carrión, P., & Gutiérrez, I. M. (2022) · SSRN Electronic Journal · doi:10.2139/ssrn.3973996 · Cited by 4 · see citing works
The Concept of Teaching Secondary Students Programming Using Artificial Intelligence
Морзе, Н., & Барна, О. В. (2025) · Springer eBooks · doi:10.1007/978-3-031-82243-8_3 · Cited by 4 · see citing works
Quantitative Symbolic Similarity Analysis
Sarker, L. (2023) · doi:10.1145/3597926.3605238 · Cited by 3 · see citing works
“In [10], behavioral similarity approach utilizing symbolic execution [21] is utilized for plagiarism detection.”
MethodAstica, Y., Utami, E., & Hartanto, A. D. (2023) · International Journal of Artificial Intelligence Research · doi:10.29099/ijair.v7i1.902 · Cited by 3 · see citing works
“Based on [2] states that studies have shown that between 50% to 79% of undergraduate students will plagiarize at least once during their academic career.”
BackgroundThree Approaches for Detecting Direct Output Cheating in Program Online Judge Systems
Qiu, J. H., Shi, C., & Lv, Y. (2023) · International Journal of Software Engineering and Knowledge Engineering · doi:10.1142/s0218194023500043 · Cited by 3 · see citing works
Song, L., Han, Y., Guo, Y., & Cai, C. (2024) · High-Confidence Computing · doi:10.1016/j.hcc.2024.100268 · Cited by 2 · see citing works
Beyond Copy Paste: Plagiarism Detection using Machine Learning
Vasuteja, A., Reddy, A. V., & Pravin, A. (2024) · International Conference on Inventive Computation Technologies (ICICT) · doi:10.1109/icict60155.2024.10544470 · Cited by 3 · see citing works
“This [6] study addresses a particular area of plagiarism detection that relates to programming assignments and source code.”
BackgroundOu, W., & Ding, S. H. H. (2023) · doi:10.1109/compsac57700.2023.00091 · Cited by 2 · see citing works
“In recent years, we have advanced to techniques like BPlag [22], a behaviour-based matching method for source code plagiarism detection using extracted”
MethodReview of Extrinsic Plagiarism Detection Techniques and Their Efficiency Comparison
Singh, M., & Gupta, V. (2022) · Communications in computer and information science · doi:10.1007/978-3-030-96040-7_46 · Cited by 2 · see citing works
Detecting GenAI assistance in programming assessments with over-uniqueness and sample matching
Karnalim, O., Toba, H., Wijanto, M. C., Setiawan, Y. D., Surantha, N., & Liut, M. (2026) · Discover Computing · doi:10.1007/s10791-025-09884-9 · Cited by 3 · see citing works
“The structure-based approach determines similarity based on program structure such as code token strings [50], binary token strings [51], and program dependency graphs [52].”
Adegbite, A. A., & Kotzé, E. (2025) · The African Journal of Information and Communication (AJIC) · doi:10.23962/ajic.i35.21309 · Cited by 2 · see citing works
A Review of Source Code Plagiarism Detection Techniques for Programming Assignments
Xiong, W., Xiang, C., & Zhou, H. X. (2024) · International Conference on Information Technology in Medicine and Education · doi:10.1109/itme63426.2024.00212 · Cited by 1 · see citing works
“Cheers et al. [28] construct Program Interaction Dependency Graphs (PIDG) using symbolic execution techniques to assess program similarity and identify plagiarism.”
Modeling Plagiarism Prevention in Scientific Publication Using Enhanced Blockchain
Wong, N. P., Juliandy, C., & Darwin (2024) · International Conference on Technology Innovation and Its Applications (ICTIIA) · doi:10.1109/ictiia61827.2024.10761924 · Cited by 1 · see citing works
“The hash value for the rest of the K-Gram words will be seen below: [16, 73, 8, 14, 89, 49, 9, 49, 13, 71, 10, 11, 35, 44, 49, 36, 63, 53, 22, 20, 22, 18, 91, 29, 74, 31, 42, 5, 22, 4, 33, 3, 84, 75, 10, 44, 1, 35, 11, 9, 10, 23, 16, 25, 23, 37, 28] 3) Matching, this step will match the hash value…”
Detecting Plagiarism in Student Assignments using Source Code Analysis
Myronenko, S., & Myronenko, Y. (2024) · WSEAS TRANSACTIONS ON COMPUTER RESEARCH · doi:10.37394/232018.2024.12.36 · Cited by 1 · see citing works
SimilaCode: Programming Source Code Similarity Detection System Based on NLP
Vallejo-Huanga, D., Morocho, J., & Salgado, J. C. (2023) · doi:10.1109/iiai-aai-winter61682.2023.00040 · Cited by 1 · see citing works
“…centers penalize this form of plagiarism, given that in some cases, there is a process of conscious cooperation between the parties involved in the infringement, and on other occasions, the source code is taken deliberately without the consent and recognition of the original authors [6].”
BackgroundCopy-Past Culture: Examining the Causes and Solutions to Source Code Plagiarism
Manyrath, J., Kirubel, K., & Cruz, T. (2023) · London Journal of Social Sciences · doi:10.31039/ljss.2023.6.104 · Cited by 1 · see citing works
PORTRAYING ACADEMIC WRITING APPTITUDE AND THE PLAGIARISM ISSUES AMONG EFL STUDENTS
Lihawa, K., Machmud, K., & Helingo, A. (2023) · English Review Journal of English Education · doi:10.25134/erjee.v11i2.6760 · Cited by 1 · see citing works
Applying Coding Behavior Features to Student Plagiarism Detection on Programming Assignments
Li, Z., Zhang, Y., Liu, Y., Wu, Y., & Wu, S. (2023) · Journal of Circuits Systems and Computers · doi:10.1142/s0218126623502869 · Cited by 2 · see citing works
Mišić, M. J., & Tomašević, M. V. (2022) · Concurrency and Computation Practice and Experience · doi:10.1002/cpe.7135 · Cited by 1 · see citing works
Teacher-oriented Source Code Similarity Detection and Visualization for Programming Assignments
Mozgovoy, M., Pyshkin, E., Blake, J., et al. (2022) · IIAI Letters on Informatics and Interdisciplinary Research · doi:10.52731/liir.v002.082 · Cited by 1 · see citing works
Patterns of Technology Utilization and Academic Dishonesty in Secondary Education
Torres-Díaz, J. C., Torres-Carrión, P., Becerra, M. H., & Rivera, D. (2026) · Lecture notes in networks and systems · doi:10.1007/978-3-032-27538-7_14
Karnalim, O. (2026) · Journal of Educational Technology Systems · doi:10.1177/00472395261472143
Dirgantoro, B., Kallista, M., & Wijayanto, I. (2026) · IEEE International Conference on Industry 4.0, Artificial Intelligence, and Communications Technology (IAICT) · doi:10.1109/iaict71158.2026.11620755
RKRGST Mismatching to Detect Contract Cheating and Automated Obfuscation in Academia
Karnalim, O., & Sujadi, S. F. (2026) · International Conference on Information and Education Technology (ICIET) · doi:10.1109/iciet69664.2026.11561597
“Using plagiarism detectors that generalise many programming syntax [21] might not be helpful, as they may consider independent submissions that solve the same assessment task as similar.”
A Scalable Incremental Verilog HDL Plagiarism Detection Approach for Large-Scale Samples
Wan, H., Yue, S., Che, B., Zhong, Z., Liu, K., & Jiang, B. (2026) · ACM Transactions on Computing Education · doi:10.1145/3799248
“Due to some significant differences between HDL and software programming language, existing software plagiarism detection approaches are not applicable to Verilog HDL projects.”
A Unified Multi-Modal System for Image Forgery, Text Plagiarism, and AI-Generated Content Detection
Ambarish, A., Abhiram, R., S, S. V., Anirudh, R., Bharath Kurki, N., & Remya, M. (2026) · International Conference on Intelligent Data Communication Technologies and Internet of Things (IDCIoT) · doi:10.1109/idciot67589.2026.11455772
“Cheers et al. [4] proposed behavioral similarity analysis for source code plagiarism detection.”
How Unique and Accurate Is GenAI Generated Code in Introductory Programming?
Setiawan, Y. D., Karnalim, O., & Ayub, M. (2026) · Lecture notes in networks and systems · doi:10.1007/978-3-032-20381-6_50
AI-Assisted Code Generation: Semantic and Structural Evaluation on CodeForces C++ Problems
Mulyadi, H. B., Retnani, W. E. Y., & Anggraini, R. N. E. (2025) · doi:10.1109/comcomap68359.2025.11353176
Creating a Randomized Assignment for a Systems Programming Course
Buček, I. T., Opavský, B. D., & Genči, D. I. J. (2025) · doi:10.1109/iceta67772.2025.11280256
“These systems are usually used together with automated assessment systems, the most well-known being Moss [10], JPlag [11], and Bplag [12].”
Kavitha, D., Tharun Kumar, P., Vishal, K. S., et al. (2025) · doi:10.1109/iccds64403.2025.11209712
“HAYDEN CHEERS et al. [2]: tackle the long-standing problem of source code plagiarism in university-level computer science courses.”
Al‐Qurabat, A. K. M., Al-Attar, B., Pokale, N. B., Fallah, D., Ahmad, A. H., Mahdi, S. A., Azize, S. A., Divekar, N., & Sekhar, R. (2025) · International Conference on Cyber Resilience (ICCR) · doi:10.1109/iccr67387.2025.11291920
“[8] Semantic Clone Detection Accuracy (Cross-Language, Top-1) 84.6% (F1-Score, Java-Python) [9] Contrastive Learning Impact on Clone Pair Embedding Alignment 31% Improvement (vs. Non-Contrastive Baseline) [10] Cross-Language Clone Retrieval Latency <220ms (for 1M+ code pairs, Indexed Search) [11]…”
InfluentialLiu, Z.-F., Jiao, X.-Y., Xing, W.-L., & Zhu, W. (2025) · Technical Symposium on Computer Science Education · doi:10.1145/3641554.3701942 · Cited by 1 · see citing works
“Cheers et al. [5] introduced BPlag, a tool that analyzes program behavior to improve accuracy and robustness in detecting plagiarized code.”
Plagiarism on Mobile Programming Assessments: Automated Detection
Karnalim, O., Handoyo, E. D., Johan, M. C., & Surjawan, D. J. (2024) · International Conference on Technology Innovation and Its Applications (ICTIIA) · doi:10.1109/ictiia61827.2024.10761687
Smit, I., Naudé, E., & Zulu, B. (2024) · The Independent Journal of Teaching and Learning · doi:10.17159/ijtl.v19i1.18854
Sensitivity Preservation and Precision of Plagiarism Detection Engines for Modified Short Programs
Imbrie, P. K., Kastner, J., & Ryman, D. (2024) · ASEE Annual Conference & Exposition · doi:10.18260/1-2--40868
Work-In-Progress: Student Motivation on Gamification in Maintaining Programming Ethics
Karnalim, O. (2024) · Lecture notes in networks and systems · doi:10.1007/978-3-031-53022-7_49
A Study on PDG-based Source Code Similarity Checking Tools
Yoon, S., Kim, S., & Lee, I.-Y. (2023) · Journal of Software Assessment and Valuation · doi:10.29056/jsav.2023.12.16
High School Student Perspective of Programming Plagiarism and Collusion
Karnalim, O., & Tan, R. (2023) · IEEE World Engineering Education Conference (EDUNINE) · doi:10.1109/edunine57531.2023.10102902
“BPlag [14] is another command-line tool, but it exclusively detects behavioral similarities in Java.”
BackgroundPlagiarism Detection in Software Projects Using Abstract Syntax Trees
Szymutko, M., & Šeda, P. (2023) · doi:10.13164/eeict.2023.45
“This compares the program’s behavior at runtime rather than the source code itself, which makes it hard to evade [6].”
BackgroundBIOPLAG: An Approach to Detect Programming Plagiarism
Gomes, K. P., Matos, S. N., & Bini, T. A. (2023) · Anais da Academia Brasileira de Ciências · doi:10.1590/0001-3765202320220684
Guo, Z. (2022) · doi:10.33422/5th.worldcre.2022.08.105
“Lastly, as adult learners, students are expected to further develop their independent and critical thinking regarding this issue by making their voices known and comprehending the rationale behind the relevant regulations, and then by taking responsible actions (Cheers et al., 2021).”
Background
- Authors
- Cheers, H., Lin, Y., & Smith, S. P.
- Affiliations
- University of Newcastle Australia (AU)
- Venue
- IEEE Access
- Published
- 2021
- Volume
- 9
- Pages
- 50391-50412
- ISSN
- 2169-3536 (ISSN-L)
- OpenAlex
- W3127553152
- Semantic Scholar
- ff70d7d7661acb90f1beb15824f958379a91141e
- Cited by
- 59
- References
- 57
- Citations by year
- 2026: 8 · 2025: 8 · 2024: 12 · 2023: 15 · 2022: 15 · 2021: 1
- FWCI
- 13.46
- Type
- journal article
- Language
- en
- Open access
- gold
- doi.org
- Licence
- Locations
- IEEE Access (publishedVersion, other-oa)
- arXiv (Cornell University) (submittedVersion)
- DOAJ (DOAJ: Directory of Open Access Journals) (submittedVersion, cc-by-sa)
- Figshare (submittedVersion, cc-by)
- Griffith Research Online (submittedVersion, cc-by)
- NOVA (University of Newcastle Australia) (submittedVersion, cc-by)
- arXiv (Cornell University)
- Funders
- Australian Government Research Training Program Scholarship at The University of Newcastle, Australia
- Topics
- Social Sciences › Safety Research › Academic integrity and plagiarism
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Keywords
- code plagiarism detection, symbolic execution, graph similarity
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Claims read under definition version 3 (extract-v3) on 2026-09-28.
Classified by jev-1.13-20260917 (gold-guideline-v0.2) on 2026-09-28.
Cited sources are checked by gpt-6-sol.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review