{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/108644"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/108644","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"CodeSimilarity: an approach for clustering introductory programming assignments","abstract":"This Thesis was approved for publication on 2020-07-24 at 16:51.","abstract_html":"This Thesis was approved for publication on 2020-07-24 at 16:51.","abstract_has_math":false,"creators":["Osei-Owusu, Jonathan"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Xie, Tao"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2020,"date_issued":"2020-10-07T22:44:48Z","date_published":"2020-10-07T22:44:48Z","updated_at":"2026-07-22T22:24:48Z","subjects":["clustering","programming education","testing"],"languages":["en"],"rights":["Copyright 2020 Jonathan Osei-Owusu"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/108644","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Xie, Tao"]},{"key":"dc:creator","label":"Author","values":["Osei-Owusu, Jonathan"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2020-10-07T22:44:48Z","2020-07-24","2020-08"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["clustering","programming education","testing"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2020 Jonathan Osei-Owusu"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/108644"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["This Thesis was approved for publication on 2020-07-24 at 16:51.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15752 on 2020-10-02 at 15:34:13","Made available in DSpace on 2020-10-07T22:44:48Z (GMT). No. of bitstreams: 2 OSEI-OWUSU-THESIS-2020.pdf: 398855 bytes, checksum: 873131c1043986ae6e3163cfd783b568 (MD5) LICENSE.txt: 4216 bytes, checksum: ece018f9ef285fc91c2350f065bd9d6e (MD5) Previous issue date: 2020-07-24","Enrollment in introductory programming (CS1) courses continues to surge and hundreds of CS1 students can produce thousands of submissions for a single problem, all requiring timely feedback and accurate grading. While not exclusive to CS1 courses, instructors of such courses are challenged to provide feedback at scale (e.g., to hundreds of students). Because these students have a diverse range of skills and backgrounds, it is essential to differentiate common strategies and shortcomings of student submissions to a given problem. There is a strong need for clustering submissions by the similarity of their strategies for enabling instructors to provide customized feedback to students. To fill this need, in this thesis, we present the CodeSimilarity approach, which first automatically generates test data for correct student submissions and then uses semantic program features (i.e., path conditions) to cluster correct student submissions by their strategies. We define the strategy employed by a student submission as the way that the problem space is partitioned into sub-spaces and how the problem is uniquely addressed within each sub-space. In particular, CodeSimilarity leverages automated test generation based on symbolic execution to determine the path conditions for a given submission; comparing each submission’s path conditions allows to establish behavioral equivalence relationships with respect to the strategies employed by these submissions. We evaluate CodeSimilarity on four datasets to assess the effectiveness of our approach. The evaluation results show that by using semantic program features (i.e., path conditions), CodeSimilarity can effectively cluster submissions that employ the same strategy.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2022-08-01","The student, Jonathan Osei-Owusu, accepted the attached license on 2020-07-24 at 14:43.","The student, Jonathan Osei-Owusu, submitted this Thesis for approval on 2020-07-24 at 16:47.","Embargo set by: Seth Robbins for item 116271 Lift date: 2022-10-07T22:44:53Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Open Restriction set for Item 116271 on 2021-03-18T14:21:32Z with date null by madinag@illinois.edu.","Open Restriction set for Item 116271 on 2021-03-18T14:21:36Z with date null by madinag@illinois.edu.","Open"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["CodeSimilarity: an approach for clustering introductory programming assignments"]}]}],"canonical_facts":{"dc:contributor":["Xie, Tao"],"dc:creator":["Osei-Owusu, Jonathan"],"dc:date":["2020-10-07T22:44:48Z","2020-07-24","2020-08"],"dc:description":["This Thesis was approved for publication on 2020-07-24 at 16:51.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15752 on 2020-10-02 at 15:34:13","Made available in DSpace on 2020-10-07T22:44:48Z (GMT). No. of bitstreams: 2 OSEI-OWUSU-THESIS-2020.pdf: 398855 bytes, checksum: 873131c1043986ae6e3163cfd783b568 (MD5) LICENSE.txt: 4216 bytes, checksum: ece018f9ef285fc91c2350f065bd9d6e (MD5) Previous issue date: 2020-07-24","Enrollment in introductory programming (CS1) courses continues to surge and hundreds of CS1 students can produce thousands of submissions for a single problem, all requiring timely feedback and accurate grading. While not exclusive to CS1 courses, instructors of such courses are challenged to provide feedback at scale (e.g., to hundreds of students). Because these students have a diverse range of skills and backgrounds, it is essential to differentiate common strategies and shortcomings of student submissions to a given problem. There is a strong need for clustering submissions by the similarity of their strategies for enabling instructors to provide customized feedback to students. To fill this need, in this thesis, we present the CodeSimilarity approach, which first automatically generates test data for correct student submissions and then uses semantic program features (i.e., path conditions) to cluster correct student submissions by their strategies. We define the strategy employed by a student submission as the way that the problem space is partitioned into sub-spaces and how the problem is uniquely addressed within each sub-space. In particular, CodeSimilarity leverages automated test generation based on symbolic execution to determine the path conditions for a given submission; comparing each submission’s path conditions allows to establish behavioral equivalence relationships with respect to the strategies employed by these submissions. We evaluate CodeSimilarity on four datasets to assess the effectiveness of our approach. The evaluation results show that by using semantic program features (i.e., path conditions), CodeSimilarity can effectively cluster submissions that employ the same strategy.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2022-08-01","The student, Jonathan Osei-Owusu, accepted the attached license on 2020-07-24 at 14:43.","The student, Jonathan Osei-Owusu, submitted this Thesis for approval on 2020-07-24 at 16:47.","Embargo set by: Seth Robbins for item 116271 Lift date: 2022-10-07T22:44:53Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Open Restriction set for Item 116271 on 2021-03-18T14:21:32Z with date null by madinag@illinois.edu.","Open Restriction set for Item 116271 on 2021-03-18T14:21:36Z with date null by madinag@illinois.edu.","Open"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/108644"],"dc:language":["en"],"dc:rights":["Copyright 2020 Jonathan Osei-Owusu"],"dc:subject":["clustering","programming education","testing"],"dc:title":["CodeSimilarity: an approach for clustering introductory programming assignments"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:48Z"}