{"id":"https://openalex.org/W3195315003","doi":"https://doi.org/10.1145/3472673.3473958","title":"The good, the bad, and the ugly: mining for patterns in student source code","display_name":"The good, the bad, and the ugly: mining for patterns in student source code","publication_year":2021,"publication_date":"2021-08-19","ids":{"openalex":"https://openalex.org/W3195315003","doi":"https://doi.org/10.1145/3472673.3473958","mag":"3195315003"},"language":"en","primary_location":{"id":"doi:10.1145/3472673.3473958","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3472673.3473958","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 3rd International Workshop on Education through Advanced Software Engineering and Artificial Intelligence","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://hdl.handle.net/2078.1/258341","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5074052329","display_name":"Kim Mens","orcid":"https://orcid.org/0000-0003-0303-1630"},"institutions":[{"id":"https://openalex.org/I95674353","display_name":"UCLouvain","ror":"https://ror.org/02495e989","country_code":"BE","type":"education","lineage":["https://openalex.org/I95674353"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Kim Mens","raw_affiliation_strings":["Universit\u00e9 Catholique de Louvain, Belgium"],"raw_orcid":"https://orcid.org/0000-0003-0303-1630","affiliations":[{"raw_affiliation_string":"Universit\u00e9 Catholique de Louvain, Belgium","institution_ids":["https://openalex.org/I95674353"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5046889112","display_name":"Siegfried Nijssen","orcid":"https://orcid.org/0000-0003-2678-1266"},"institutions":[{"id":"https://openalex.org/I95674353","display_name":"UCLouvain","ror":"https://ror.org/02495e989","country_code":"BE","type":"education","lineage":["https://openalex.org/I95674353"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Siegfried Nijssen","raw_affiliation_strings":["Universit\u00e9 Catholique de Louvain, Belgium"],"raw_orcid":"https://orcid.org/0000-0003-2678-1266","affiliations":[{"raw_affiliation_string":"Universit\u00e9 Catholique de Louvain, Belgium","institution_ids":["https://openalex.org/I95674353"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5042683708","display_name":"Hoang Son Pham","orcid":"https://orcid.org/0000-0003-0349-3763"},"institutions":[{"id":"https://openalex.org/I878454856","display_name":"Hasselt University","ror":"https://ror.org/04nbhqj75","country_code":"BE","type":"education","lineage":["https://openalex.org/I878454856"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Hoang-Son Pham","raw_affiliation_strings":["Hasselt University, Belgium"],"raw_orcid":"https://orcid.org/0000-0003-0349-3763","affiliations":[{"raw_affiliation_string":"Hasselt University, Belgium","institution_ids":["https://openalex.org/I878454856"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.138,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.83189502,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"8"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9898999929428101,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.98580002784729,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.9529076814651489},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7639756202697754},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.7212929129600525},{"id":"https://openalex.org/keywords/coding","display_name":"Coding (social sciences)","score":0.6140966415405273},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5823549032211304},{"id":"https://openalex.org/keywords/sequential-pattern-mining","display_name":"Sequential Pattern Mining","score":0.4823174476623535},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.47594213485717773},{"id":"https://openalex.org/keywords/data-science","display_name":"Data science","score":0.3700753450393677},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.3554547429084778},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3396008610725403},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.16097858548164368}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9529076814651489},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7639756202697754},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.7212929129600525},{"id":"https://openalex.org/C179518139","wikidata":"https://www.wikidata.org/wiki/Q5140297","display_name":"Coding (social sciences)","level":2,"score":0.6140966415405273},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5823549032211304},{"id":"https://openalex.org/C149490388","wikidata":"https://www.wikidata.org/wiki/Q1718507","display_name":"Sequential Pattern Mining","level":2,"score":0.4823174476623535},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.47594213485717773},{"id":"https://openalex.org/C2522767166","wikidata":"https://www.wikidata.org/wiki/Q2374463","display_name":"Data science","level":1,"score":0.3700753450393677},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.3554547429084778},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3396008610725403},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.16097858548164368},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3472673.3473958","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3472673.3473958","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 3rd International Workshop on Education through Advanced Software Engineering and Artificial Intelligence","raw_type":"proceedings-article"},{"id":"pmh:oai:dial.uclouvain.be:boreal:258341","is_oa":true,"landing_page_url":"http://hdl.handle.net/2078.1/258341","pdf_url":null,"source":{"id":"https://openalex.org/S4306401902","display_name":"Digital Access to Libraries (Universit\u00e9 catholique de Louvain (UCL), l'Universit\u00e9 de Namur (UNamur) and the Universit\u00e9 Saint-Louis (USL-B))","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I95674353","host_organization_name":"UCLouvain","host_organization_lineage":["https://openalex.org/I95674353"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:documentserver.uhasselt.be:1942/37208","is_oa":false,"landing_page_url":"http://hdl.handle.net/1942/37208","pdf_url":null,"source":{"id":"https://openalex.org/S4306401926","display_name":"Document Server@UHasselt (UHasselt)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I878454856","host_organization_name":"Hasselt University","host_organization_lineage":["https://openalex.org/I878454856"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":{"id":"pmh:oai:dial.uclouvain.be:boreal:258341","is_oa":true,"landing_page_url":"http://hdl.handle.net/2078.1/258341","pdf_url":null,"source":{"id":"https://openalex.org/S4306401902","display_name":"Digital Access to Libraries (Universit\u00e9 catholique de Louvain (UCL), l'Universit\u00e9 de Namur (UNamur) and the Universit\u00e9 Saint-Louis (USL-B))","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I95674353","host_organization_name":"UCLouvain","host_organization_lineage":["https://openalex.org/I95674353"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/conferenceObject"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":12,"referenced_works":["https://openalex.org/W1496474527","https://openalex.org/W1520566981","https://openalex.org/W1544892355","https://openalex.org/W1812277312","https://openalex.org/W1965232248","https://openalex.org/W1984964495","https://openalex.org/W2111215649","https://openalex.org/W2115510201","https://openalex.org/W2126460775","https://openalex.org/W2535073923","https://openalex.org/W2980902799","https://openalex.org/W4292014584"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W4231266416","https://openalex.org/W2395465245","https://openalex.org/W2072205733","https://openalex.org/W3176957927","https://openalex.org/W194942058","https://openalex.org/W2991900792","https://openalex.org/W2088986462","https://openalex.org/W1985388819","https://openalex.org/W3081644756"],"abstract_inverted_index":{"Research":[0],"on":[1],"source":[2,100],"code":[3,21,101],"mining":[4,33,39],"has":[5],"been":[6],"explored":[7],"to":[8,40,71,76,83,98,112,125,138],"discover":[9],"interesting":[10,43,126],"structural":[11],"regularities,":[12],"API":[13],"usage":[14],"patterns,":[15],"refactoring":[16],"opportunities,":[17],"bugs,":[18],"crosscutting":[19],"concerns,":[20],"clones":[22],"and":[23,114],"systematic":[24],"changes.":[25],"In":[26],"this":[27,95],"paper":[28],"we":[29,119],"present":[30],"a":[31,77],"pattern":[32],"algorithm":[34,96,117],"that":[35,66,85,121,128],"uses":[36],"frequent":[37],"tree":[38],"mine":[41],"for":[42,64],"good,":[44],"bad":[45],"or":[46],"ugly":[47],"coding":[48],"idioms":[49],"made":[50],"by":[51,62],"undergraduate":[52],"students":[53,140],"taking":[54],"an":[55,134],"introductory":[56],"programming":[57],"course.":[58],"We":[59,89],"do":[60],"so":[61],"looking":[63],"patterns":[65],"distinguish":[67],"positive":[68],"examples,":[69,81],"corresponding":[70,82],"the":[72,87,99,116],"more":[73,108],"correct":[74],"answers":[75],"question,":[78],"from":[79,142],"negative":[80],"solutions":[84],"failed":[86],"question.":[88],"report":[90],"promising":[91],"initial":[92],"results":[93],"of":[94,102],"applied":[97],"over":[103],"500":[104],"students.":[105],"Even":[106],"though":[107],"work":[109],"is":[110],"needed":[111],"fine-tune":[113],"validate":[115],"further,":[118],"hope":[120],"it":[122],"can":[123,129],"lead":[124],"insights":[127],"eventually":[130],"be":[131],"integrated":[132],"into":[133],"intelligent":[135],"recommendation":[136],"system":[137],"help":[139],"learn":[141],"their":[143],"errors.":[144]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
