Code Plagiarism Checking Function and Its Application for Code Writing Problem in Java Programming Learning Assistant System

A web-based Java programming learning assistant system (JPLAS) has been developed for novice students to study Java programming by themselves while enhancing code reading and code writing skills. One type of the implemented exercise problem is code writing problem (CWP), which asks students to creat...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Analytics Ročník 3; číslo 1; s. 46 - 62
Hlavní autoři: Htet, Ei Ei, Wai, Khaing Hsu, Aung, Soe Thandar, Funabiki, Nobuo, Lu, Xiqin, Kyaw, Htoo Htoo Sandi, Kao, Wen-Chung
Médium: Journal Article
Jazyk:angličtina
japonština
Vydáno: MDPI AG 17.01.2024
Témata:
ISSN:2813-2203, 2813-2203
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract A web-based Java programming learning assistant system (JPLAS) has been developed for novice students to study Java programming by themselves while enhancing code reading and code writing skills. One type of the implemented exercise problem is code writing problem (CWP), which asks students to create a source code that can pass the given test code. The correctness of this answer code is validated by running them on JUnit. In previous works, a Python-based answer code validation program was implemented to assist teachers. It automatically verifies the source codes from all the students for one test code, and reports the number of passed test cases by each code in the CSV file. While this program plays a crucial role in checking the correctness of code behaviors, it cannot detect code plagiarism that can often happen in programming courses. In this paper, we implement a code plagiarism checking function in the answer code validation program, and present its application results to a Java programming course at Okayama University, Japan. This function first removes the whitespace characters and the comments using the regular expressions. Next, it calculates the Levenshtein distance and similarity score for each pair of source codes from different students in the class. If the score is larger than a given threshold, they are regarded as plagiarism. Finally, it outputs the scores as a CSV file with the student IDs. For evaluations, we applied the proposed function to a total of 877 source codes for 45 CWP assignments submitted from 9 to 39 students and analyzed the results. It was found that (1) CWP assignments asking for shorter source codes generate higher scores than those for longer codes due to the use of test codes, (2) proper thresholds are different by assignments, and (3) some students often copied source codes from certain students.
AbstractList A web-based Java programming learning assistant system (JPLAS) has been developed for novice students to study Java programming by themselves while enhancing code reading and code writing skills. One type of the implemented exercise problem is code writing problem (CWP), which asks students to create a source code that can pass the given test code. The correctness of this answer code is validated by running them on JUnit. In previous works, a Python-based answer code validation program was implemented to assist teachers. It automatically verifies the source codes from all the students for one test code, and reports the number of passed test cases by each code in the CSV file. While this program plays a crucial role in checking the correctness of code behaviors, it cannot detect code plagiarism that can often happen in programming courses. In this paper, we implement a code plagiarism checking function in the answer code validation program, and present its application results to a Java programming course at Okayama University, Japan. This function first removes the whitespace characters and the comments using the regular expressions. Next, it calculates the Levenshtein distance and similarity score for each pair of source codes from different students in the class. If the score is larger than a given threshold, they are regarded as plagiarism. Finally, it outputs the scores as a CSV file with the student IDs. For evaluations, we applied the proposed function to a total of 877 source codes for 45 CWP assignments submitted from 9 to 39 students and analyzed the results. It was found that (1) CWP assignments asking for shorter source codes generate higher scores than those for longer codes due to the use of test codes, (2) proper thresholds are different by assignments, and (3) some students often copied source codes from certain students.
Author Wen-Chung Kao
Xiqin Lu
Ei Ei Htet
Nobuo Funabiki
Khaing Hsu Wai
Soe Thandar Aung
Htoo Htoo Sandi Kyaw
Author_xml – sequence: 1
  givenname: Ei Ei
  surname: Htet
  fullname: Htet, Ei Ei
– sequence: 2
  givenname: Khaing Hsu
  surname: Wai
  fullname: Wai, Khaing Hsu
– sequence: 3
  givenname: Soe Thandar
  surname: Aung
  fullname: Aung, Soe Thandar
– sequence: 4
  givenname: Nobuo
  surname: Funabiki
  fullname: Funabiki, Nobuo
– sequence: 5
  givenname: Xiqin
  surname: Lu
  fullname: Lu, Xiqin
– sequence: 6
  givenname: Htoo Htoo Sandi
  surname: Kyaw
  fullname: Kyaw, Htoo Htoo Sandi
– sequence: 7
  givenname: Wen-Chung
  surname: Kao
  fullname: Kao, Wen-Chung
BackLink https://cir.nii.ac.jp/crid/1870303266621209856$$DView record in CiNii
BookMark eNp9UU1rGzEQFSWFpmnuPerQq1t9rLTaozFN4mJIoIEexUg7dpXuSkZSA4b8-OzaCZQcCmI08zTvjXjzkZzFFJGQz5x9lbJj3yDCcKjBF8k4Y6x5R86F4XIhBJNn_-QfyGUpD1OH6Djvmu6cPK1Sj_RugF2AHMpIV7_R_wlxR6_-Rl9DihRiT9e10OV-PwQPR2ybMj0yf-VQ5-67nNyAIw2R_oBHmOtdhnGc3zYIOc7JspRQKsRKfx5KxfETeb-FoeDly31B7q--369uFpvb6_VquVl4qWWzMM5xw0XnVOPQeK20bHmvet03wKQGhX3nWgTl0Cv0Hv2EOSO5bwVyLS_I-iTbJ3iw-xxGyAebINgjkPLOQp7cG9C6pkUjkbfNdJjRRqFirdYNE75XnE9a-qTlcyol49b6UI-e1AxhsJzZeSP27UYmIntDfP3IfyhfTpQYwjRmjty0TDIptNaCC9aZyYtnkamd9w
CitedBy_id crossref_primary_10_1016_j_learninstruc_2025_102221
Cites_doi 10.1093/comjnl/bxs018
10.1145/1953163.1953299
10.1145/3286960.3286974
10.1145/1930464.1930480
10.1088/1742-6596/1840/1/012029
10.1145/3313290
10.1109/ICIET55102.2022.9779047
10.1145/2072598.2072607
10.1109/ICIET56899.2023.10111392
10.4304/jsw.8.7.1718-1725
10.1109/SNPD.2009.62
10.1145/2325296.2325344
10.1007/978-981-13-0755-3_6
ContentType Journal Article
DBID RYH
AAYXX
CITATION
DOA
DOI 10.3390/analytics3010004
DatabaseName CiNii Complete
CrossRef
DOAJ Directory of Open Access Journals
DatabaseTitle CrossRef
DatabaseTitleList CrossRef

Database_xml – sequence: 1
  dbid: DOA
  name: DOAJ Directory of Open Access Journals
  url: https://www.doaj.org/
  sourceTypes: Open Website
DeliveryMethod fulltext_linktorsrc
EISSN 2813-2203
EndPage 62
ExternalDocumentID oai_doaj_org_article_b47e83e17417408685e50766402cd511
10_3390_analytics3010004
GroupedDBID AFZYC
ALMA_UNASSIGNED_HOLDINGS
ARCSS
GROUPED_DOAJ
MODMG
M~E
RYH
AAYXX
CITATION
ID FETCH-LOGICAL-c3634-8bb18129b54be8c656371d5d6d4a036a5ed9b7ea5bec5eccec6a5b831c72e163
IEDL.DBID DOA
ISSN 2813-2203
IngestDate Fri Oct 03 12:50:42 EDT 2025
Thu Oct 16 04:38:36 EDT 2025
Tue Nov 18 22:32:55 EST 2025
Thu Jun 26 22:25:51 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 1
Language English
Japanese
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c3634-8bb18129b54be8c656371d5d6d4a036a5ed9b7ea5bec5eccec6a5b831c72e163
OpenAccessLink https://doaj.org/article/b47e83e17417408685e50766402cd511
PageCount 17
ParticipantIDs doaj_primary_oai_doaj_org_article_b47e83e17417408685e50766402cd511
crossref_citationtrail_10_3390_analytics3010004
crossref_primary_10_3390_analytics3010004
nii_cinii_1870303266621209856
PublicationCentury 2000
PublicationDate 2024-01-17
PublicationDateYYYYMMDD 2024-01-17
PublicationDate_xml – month: 01
  year: 2024
  text: 2024-01-17
  day: 17
PublicationDecade 2020
PublicationTitle Analytics
PublicationYear 2024
Publisher MDPI AG
Publisher_xml – name: MDPI AG
References Novak (ref_19) 2019; 19
ref_24
Duric (ref_17) 2013; 56
ref_23
ref_11
Shamsi (ref_12) 2012; 4
ref_22
ref_21
ref_20
Tung (ref_14) 2013; 8
ref_1
ref_3
ref_2
ref_18
(ref_9) 2017; 5
ref_16
ref_15
Zinovieva (ref_10) 2021; 1840
ref_8
Edwards (ref_13) 2007; 22
ref_5
ref_4
ref_7
ref_6
References_xml – volume: 56
  start-page: 70
  year: 2013
  ident: ref_17
  article-title: A source code similarity system for plagiarism detection
  publication-title: Comput. J.
  doi: 10.1093/comjnl/bxs018
– ident: ref_6
– volume: 22
  start-page: 44
  year: 2007
  ident: ref_13
  article-title: Experiences using test-driven development with an automated grader
  publication-title: J. Comput. Sci. Coll.
– ident: ref_5
– ident: ref_3
– ident: ref_11
  doi: 10.1145/1953163.1953299
– ident: ref_24
– ident: ref_2
– ident: ref_18
  doi: 10.1145/3286960.3286974
– ident: ref_16
  doi: 10.1145/1930464.1930480
– volume: 1840
  start-page: 012029
  year: 2021
  ident: ref_10
  article-title: The use of online coding platforms as additional distance tools in programming education
  publication-title: J. Phys. Conf. Ser.
  doi: 10.1088/1742-6596/1840/1/012029
– volume: 19
  start-page: 1
  year: 2019
  ident: ref_19
  article-title: Source-code similarity detection and detection tools used in academia: A systematic review
  publication-title: ACM Trans. Comp. Educ.
  doi: 10.1145/3313290
– ident: ref_1
  doi: 10.1109/ICIET55102.2022.9779047
– ident: ref_8
  doi: 10.1145/2072598.2072607
– volume: 4
  start-page: 59
  year: 2012
  ident: ref_12
  article-title: An intelligent assessment tool for student’s Java submission in introductory programming courses
  publication-title: J. Intelli. Learn. Syst. Appl.
– ident: ref_4
  doi: 10.1109/ICIET56899.2023.10111392
– volume: 8
  start-page: 1718
  year: 2013
  ident: ref_14
  article-title: An exercise management system for teaching programming
  publication-title: J. Softw.
  doi: 10.4304/jsw.8.7.1718-1725
– ident: ref_21
  doi: 10.1109/SNPD.2009.62
– ident: ref_22
– ident: ref_23
– ident: ref_7
  doi: 10.1145/2325296.2325344
– ident: ref_20
– ident: ref_15
  doi: 10.1007/978-981-13-0755-3_6
– volume: 5
  start-page: 1
  year: 2017
  ident: ref_9
  article-title: Students’ views about the problem based collaborative learning environment supported by dynamic web technologies
  publication-title: Malays. Online J. Edu. Tech.
SSID ssj0002911949
Score 2.2654264
Snippet A web-based Java programming learning assistant system (JPLAS) has been developed for novice students to study Java programming by themselves while enhancing...
SourceID doaj
crossref
nii
SourceType Open Website
Enrichment Source
Index Database
Publisher
StartPage 46
SubjectTerms code writing problem
Electronic computers. Computer science
Java programming learning
JPLAS
JUnit
Levenshtein distance
plagiarism
Probabilities. Mathematical statistics
QA273-280
QA75.5-76.95
Title Code Plagiarism Checking Function and Its Application for Code Writing Problem in Java Programming Learning Assistant System
URI https://cir.nii.ac.jp/crid/1870303266621209856
https://doaj.org/article/b47e83e17417408685e50766402cd511
Volume 3
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVAON
  databaseName: DOAJ Directory of Open Access Journals
  customDbUrl:
  eissn: 2813-2203
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0002911949
  issn: 2813-2203
  databaseCode: DOA
  dateStart: 20220101
  isFulltext: true
  titleUrlDefault: https://www.doaj.org/
  providerName: Directory of Open Access Journals
– providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2813-2203
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0002911949
  issn: 2813-2203
  databaseCode: M~E
  dateStart: 20220101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV1LS8NAEF5EPHgRRcWqlT148RDaZLOPHGtpUdHSQ9Hewr5aA20qbe1J_O3OJLFWD3oRwkI2u2SZmd359vUNIZdMcMdlMgp46HQQK-cDw5gLOOjaaSE4Lw7IPt7LXk8Nh0l_I9QXngkr6YFLwTVMLL1iHoAzPIC_FfcAYYSAeY91vLzVC6hnYzKFY3AEfTiJk3JfksG8vqGR4wOZj8GiEch880MFXT94lzzLNrxLd5_sVbCQtsrmHJAtnx-St_bMedqf6HGGoQKntP3sLS5t0y54I5Qo1bmjt8sFbX3tQ1OAobSo-YSERVC6XwaNoVlO7_RK4zueyZrit4pfdUxBTwgl8yUtScyPyKDbGbRvgipaQmCZYHGgjEFvnRgeG68s4DQmQ8edcLEGN6W5d4mRXnPQGgfFeQt5RrHQysgDKjsm2_ks9yeE8njkQjkSXkcs1sxq46HXNxNnlWSmmdRI41N0qa2YxDGgxSSFGQUKO_0p7Bq5Wtd4KVk0fil7jdpYl0P-6yIDrCKtrCL9yypqpA66hNZhGioc1gCnChHhVWHFxel__OSM7EYAcXBBJpTnZHs5f_V1smNXy2wxvygMEtKH984HF4LkFA
linkProvider Directory of Open Access Journals
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Code+Plagiarism+Checking+Function+and+Its+Application+for+Code+Writing+Problem+in+Java+Programming+Learning+Assistant+System&rft.jtitle=Analytics&rft.au=Ei+Ei+Htet&rft.au=Khaing+Hsu+Wai&rft.au=Soe+Thandar+Aung&rft.au=Nobuo+Funabiki&rft.date=2024-01-17&rft.pub=MDPI+AG&rft.eissn=2813-2203&rft.volume=3&rft.spage=46&rft.epage=62&rft_id=info:doi/10.3390%2Fanalytics3010004
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2813-2203&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2813-2203&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2813-2203&client=summon