<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-008-11-1016</article-id>
      <article-id pub-id-type="publisher-id">27920</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>F.2.2 - Nonnumerical Algorithms and Problems</subject>
          <subject>H.3.3 - Information Search and Retrieval</subject>
          <subject>H.5.2 - User Interfaces</subject>
          <subject>I.5.4 - Applications</subject>
          <subject>K.3.m - Miscellaneous</subject>
          <subject>K.5.1 - Hardware/Software Protection</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Finding Plagiarisms among a Set of Programs with JPlag</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Prechelt</surname>
            <given-names>Lutz</given-names>
          </name>
          <email xlink:type="simple">prechelt@computer.org</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Malpohl</surname>
            <given-names>Guido</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Philippsen</surname>
            <given-names>Michael</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Universitaet Karlsruhe, Karlsruhe, Germany</addr-line>
        <institution>Universitaet Karlsruhe</institution>
        <addr-line content-type="city">Karlsruhe</addr-line>
        <country>Germany</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">University Karlsruhe, Karlsruhe, Germany</addr-line>
        <institution>University Karlsruhe</institution>
        <addr-line content-type="city">Karlsruhe</addr-line>
        <country>Germany</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Lutz Prechelt (<email xlink:type="simple">prechelt@computer.org</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2002</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>11</month>
        <year>2002</year>
      </pub-date>
      <volume>8</volume>
      <issue>11</issue>
      <fpage>1016</fpage>
      <lpage>1038</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/06CA4191-B287-52D3-BC20-449026DF7366">06CA4191-B287-52D3-BC20-449026DF7366</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6996252">6996252</uri>
      <permissions>
        <copyright-statement>Lutz Prechelt, Guido Malpohl, Michael Philippsen</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>JPlag is a web service that finds pairs of similar programs among a given set of programs. It has successfully been used in practice for detecting plagiarisms among student Java program submissions. Support for the languages C, C++ and Scheme is also available. We describe JPlag's architecture and its comparsion algorithm, which is based on a known one called Greedy String Tiling. Then, the contribution of this paper is threefold: First, an evaluation of JPlag's performance on several rather different sets of Java programs shows that JPlag is very hard to deceive. More than 90 percent of the 77 plagiarisms within our various benchmark program sets are reliably detected and a majority of the others at least raise suspicion. The run time is just a few seconds for submissions of 100 programs of several hundred lines each. Second, a parameter study shows that the approach is fairly robust with respect to its configuration parameters. Third, we study the kinds of attempts used for disguising plagiarisms, their frequency, and their success.</p>
      </abstract>
    </article-meta>
  </front>
</article>
