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...
Uloženo v:
| Vydáno v: | Analytics Ročník 3; číslo 1; s. 46 - 62 |
|---|---|
| Hlavní autoři: | , , , , , , |
| 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 |