<?xml version="1.0" encoding="UTF-8"?>
<record
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
    xmlns="http://www.loc.gov/MARC21/slim">

  <leader>02994nam a2200301 i 4500</leader>
  <controlfield tag="003">CSPC</controlfield>
  <controlfield tag="005">20251202102758.0</controlfield>
  <controlfield tag="008">251202s2024    ph a     b    000 0 eng d</controlfield>
  <datafield tag="040" ind1=" " ind2=" ">
    <subfield code="a">CSPC</subfield>
    <subfield code="b">eng</subfield>
    <subfield code="c">CSPC</subfield>
    <subfield code="e">rda</subfield>
  </datafield>
  <datafield tag="090" ind1=" " ind2=" ">
    <subfield code="a">UTH BSCS D362p 2024</subfield>
  </datafield>
  <datafield tag="100" ind1="1" ind2=" ">
    <subfield code="a">Delos Santos, Venn P.</subfield>
    <subfield code="e">author.</subfield>
  </datafield>
  <datafield tag="245" ind1="1" ind2="0">
    <subfield code="a">Python code similarity detection using abstract syntax tree with k-means algorithm / </subfield>
    <subfield code="c">Venn P. Delos Santos, John Christian M. Gava, and Marc Christian D. Tumaneng</subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
    <subfield code="a">166 leaves.</subfield>
  </datafield>
  <datafield tag="336" ind1=" " ind2=" ">
    <subfield code="2">rdacontent</subfield>
    <subfield code="a">text</subfield>
  </datafield>
  <datafield tag="337" ind1=" " ind2=" ">
    <subfield code="2">rdamedia</subfield>
    <subfield code="a">unmediated</subfield>
  </datafield>
  <datafield tag="338" ind1=" " ind2=" ">
    <subfield code="2">rdacarrier</subfield>
    <subfield code="a">volume</subfield>
  </datafield>
  <datafield tag="502" ind1=" " ind2=" ">
    <subfield code="a">Undergraduate Thesis (BSCS) - Computer Science.</subfield>
    <subfield code="c">Camarines Sur Polytechnic Colleges, 2024.</subfield>
  </datafield>
  <datafield tag="504" ind1=" " ind2=" ">
    <subfield code="a">Includes bibliographical references.</subfield>
  </datafield>
  <datafield tag="520" ind1="3" ind2=" ">
    <subfield code="a">This study presents a hybrid methodology for detecting source code similarity in Python programming language. Integrating Abstract Syntax Tree (AST) analysis for structural similarity evaluation, the SimHash algorithm for textual similarity assessment, and the K-Means clustering algorithm for grouping Python codes according to their similarity fea-tures. The evaluation of the source code similarity detection was thoroughly conducted us-ing a dataset of student-submitted Python code, focusing on the detection of prevalent types of source code changes employed to conceal plagiarism attempts. With 28,701 pairwise comparisons across non-plagiarized and plagiarized code files, the model achieved an ac-curacy of 83%, with a high precision of 100%, a recall of 83%, and a 91% F-Measure. Ad-ditionally, the similarity detection process underwent a comprehensive assessment through test cases involving different degrees of source code transformation, demonstrating the model's robustness in identifying plagiarism across varying levels of structural and textual code transformations. Moreover, the K-Means algorithm exhibited high performance in grouping codes effectively, with optimal cohesion and separation validated using evalua-tion metrics such as the elbow method and silhouette score. Furthermore, a web application prototype was developed using Streamlit to operationalize the methodology. The applica-tion is user-friendly and provides an accessible platform where users can register, log in, and utilize the toolkit for source code similarity detection. The findings of the study under-score the effectiveness of integrating Abstract Syntax Tree (AST) analysis with a text-based approach, combined with the K-Means algorithm, as a scalable and comprehensive method for detecting source code similarity in Python programs.</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
    <subfield code="a">Gava, John Christian M.</subfield>
    <subfield code="e">author.</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
    <subfield code="a">Tumaneng, Marc Christian D.</subfield>
    <subfield code="e">author.</subfield>
  </datafield>
  <datafield tag="720" ind1=" " ind2=" ">
    <subfield code="a">Fortuno, Kaela Marie N.</subfield>
    <subfield code="e">adviser.</subfield>
  </datafield>
  <datafield tag="720" ind1=" " ind2=" ">
    <subfield code="a">O&#xF1;ate, Joseph Jessie S.</subfield>
    <subfield code="e">chair, panelist.</subfield>
  </datafield>
  <datafield tag="720" ind1=" " ind2=" ">
    <subfield code="a">Benitez, Ian P.</subfield>
    <subfield code="e">panelist.</subfield>
  </datafield>
  <datafield tag="720" ind1=" " ind2=" ">
    <subfield code="a">Onesa, Rosel O.</subfield>
    <subfield code="e">panelist.</subfield>
  </datafield>
  <datafield tag="942" ind1=" " ind2=" ">
    <subfield code="2">ddc</subfield>
    <subfield code="n">0</subfield>
    <subfield code="c">UM</subfield>
    <subfield code="h">D362p</subfield>
    <subfield code="i">BSCS</subfield>
    <subfield code="k">UTH</subfield>
    <subfield code="m">2024</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="0">0</subfield>
    <subfield code="1">0</subfield>
    <subfield code="2">ddc</subfield>
    <subfield code="4">0</subfield>
    <subfield code="7">0</subfield>
    <subfield code="a">CSPC</subfield>
    <subfield code="b">CSPC</subfield>
    <subfield code="c">UTH</subfield>
    <subfield code="d">2025-12-02</subfield>
    <subfield code="l">0</subfield>
    <subfield code="o">UTH BSCS D362p 2024</subfield>
    <subfield code="p">007022UM</subfield>
    <subfield code="r">2025-12-02 10:28:26</subfield>
    <subfield code="t">1-1</subfield>
    <subfield code="w">2025-12-02</subfield>
    <subfield code="y">UM</subfield>
  </datafield>
  <datafield tag="999" ind1=" " ind2=" ">
    <subfield code="c">30988</subfield>
    <subfield code="d">30988</subfield>
  </datafield>
</record>
