Cited by 59Academic integrity and plagiarismSoftware Engineering ResearchTeaching and Learning Programming

Academic Source Code Plagiarism Detection by Measuring Program Behavioral Similarity

Open access
Cheers, Hayden, Lin, Yuqing, Smith, Shamus P.·2021·IEEE Access

Abstract

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

Crossref · 10.1109/access.2021.3069367

Cites

55 of 55 references verified0 citation errors · 0 not checkable

Statistics

Nothing to recompute.

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
  • 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 conductcitation

    All 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.

    Premisecitation

    Existing 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.

    Premisecitation

    BPlag 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.

    Premisecitation

    Recent 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 data

    While 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 claim
  • May combine two claims.

    Findingown data

    The 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingreasoning

    The 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingown data

    Results 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingreasoning

    The 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 claim
  • May combine two claims.

    Findingown data

    BPlag'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 claim
  • The quote only partly states this claim.

    Findingown data

    BPlag 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 claim
  • Classified as probably not a substantial claim.

    Findingnone given

    The 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 claim
  • May combine two claims.

    Findingown data

    Plaggie 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 claim
  • May combine two claims.

    Findingown data

    This 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingown data

    The 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 claim
  • May combine two claims.

    Findingreasoning

    The 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 claim
  • May combine two claims.

    Findingown data

    Experiments 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 claim
  • May combine two claims.

    Findingown data

    BPlag 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 claim
  • May combine two claims.

    Premisecitation

    Existing 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
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    Faidhi 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.

    Interpretationreasoning

    Pervasive 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 claim
  • May combine two claims.

    Interpretationreasoning

    BPlag 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 claim
  • Classified as probably not a substantial claim.

    Premisecitation

    Cheers 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 given

    A 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 claim
  • Probably not a substantial claim: may not pass S2 (checkable), S4 (based).

    Interpretationreasoning

    Given 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 claim
  • May combine two claims.

    Premisecitation

    Structural 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).

    Premisecitation

    Zhang 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 given

    A 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 claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    Combining 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Premisecitation

    Such 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.

    Interpretationreasoning

    Symbolic 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 claim
  • May combine two claims.

    Interpretationreasoning

    To 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    The 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 claim
  • May combine two claims.

    Interpretationreasoning

    A 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 claim
  • May combine two claims.

    Premisecitation

    In 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.

    Interpretationreasoning

    Assuming 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.

    Interpretationreasoning

    BPlag 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Study design and conductreasoning

    The 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 claim
  • May combine two claims.

    Interpretationreasoning

    Constraint 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 claim
  • The quote only partly states this claim.

    Interpretationreasoning

    L6 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 claim
  • May combine two claims.

    Interpretationreasoning

    Functional 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 claim
  • May combine two claims.

    Interpretationreasoning

    Two 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 claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Noise 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 claim
  • Classified as probably not a substantial claim.

    Study design and conductreasoning

    All 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 claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    This 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 claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    The 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 claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    A 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 claim
  • Classified as probably not a substantial claim. May combine two claims.

    Premisecitation

    A 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 given

    There 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 claim
  • May combine two claims.

    Interpretationreasoning

    BPlag 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 claim
  • Classified as probably not a substantial claim.

    Interpretationnone given

    Using 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 claim
  • May combine two claims.

    Interpretationreasoning

    BPlag 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 claim
  • May combine two claims.

    Interpretationreasoning

    BPlag affords accurate identification of plagiarism indications in a single execution, especially with plagiarism-hiding transformations.

    “This is afforded by BPlag.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationown data

    This 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 claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    Errors 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 claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Multi-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 claim
  • May combine two claims.

    Study design and conductreasoning

    SPPlagiarise 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
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    The 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 claim
  • May combine two claims.

    Interpretationreasoning

    For 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 claim
  • May combine two claims.

    Interpretationreasoning

    BPlag 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    These results are largely consistent with experiment 1.

    “Hence, these results are largely consistent with experiment 1.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationreasoning

    BPlag 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 claim
  • May combine two claims.

    Interpretationown data

    Removing 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 claim
  • Classified as probably not a substantial claim. May combine two claims.

    Interpretationreasoning

    Using 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 claim
  • Probably not a substantial claim: may not pass S4 (based).

    Premisenone given

    A 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationreasoning

    BPlag 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    Amalgamating 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 claim
  • Classified as probably not a substantial claim.

    Study design and conductreasoning

    The 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    This 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 claim
  • May combine two claims.

    Study design and conductreasoning

    Data 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 claim
  • May combine two claims.

    Study design and conductnone given

    Every 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 claim
  • May combine two claims.

    Interpretationreasoning

    Considering 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    The 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    PIDG 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 claim
  • May combine two claims.

    Study design and conductreasoning

    The 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 claim
  • May combine two claims.

    Interpretationreasoning

    This 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 claim
  • May combine two claims.

    Study design and conductreasoning

    The 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 claim
  • May combine two claims.

    Study design and conductreasoning

    BPlag 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 claim
  • Classified as probably not a substantial claim.

    Premisenone given

    BPlag 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 claim
  • May combine two claims.

    Interpretationreasoning

    Test 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    Fingerprinting 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    BPlag 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 claim
  • May combine two claims.

    Interpretationreasoning

    BPlag 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    Re-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 claim
  • Classified as probably not a substantial claim.

    Premisenone given

    BPlag is designed as a source code plagiarism detection tool.

    “Overall, BPlag is designed as a SCPDT.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    BPlag'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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    LoPD 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.

    Premisecitation

    Low-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).

    Premisecitation

    Cop 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).

    Premisecitation

    VaPD 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).

    Interpretationreasoning

    Extending 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 claim
  • May combine two claims.

    Premisereasoning

    BPlag 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.

    Interpretationreasoning

    In 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.
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    VaPD 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).

    Interpretationreasoning

    The 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisenone given

    CoP 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Study design and conductnone given

    As 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 claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    In 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 claim
  • Classified as probably not a substantial claim.

    Premisenone given

    BPlag 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 claim
  • May combine two claims.

    Interpretationreasoning

    Because 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 given

    Tools 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
101 of 101
  • 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.”
17 of 17

Cites

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

  1. grune, 1989, Het detecteren van kopieën bij informatica-practica, Informatie, 31, 864
  2. 2020, BPlag Source Code Plagiarism Detection Tool
  3. pike, 2021, The sherlock plagiarism detector

Cited by

Sorted by citations

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
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
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