{"id":"https://openalex.org/W2295100577","doi":"https://doi.org/10.1145/3192366.3192387","title":"Automated clustering and program repair for introductory programming assignments","display_name":"Automated clustering and program repair for introductory programming assignments","publication_year":2018,"publication_date":"2018-06-11","ids":{"openalex":"https://openalex.org/W2295100577","doi":"https://doi.org/10.1145/3192366.3192387","mag":"2295100577"},"language":"en","primary_location":{"id":"doi:10.1145/3192366.3192387","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3192366.3192387","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3192366.3192387","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3192366.3192387","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011543162","display_name":"Sumit Gulwani","orcid":"https://orcid.org/0000-0002-9226-9634"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Sumit Gulwani","raw_affiliation_strings":["Microsoft, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060467430","display_name":"Ivan Radi\u010dek","orcid":"https://orcid.org/0000-0002-5106-1837"},"institutions":[{"id":"https://openalex.org/I145847075","display_name":"TU Wien","ror":"https://ror.org/04d836q62","country_code":"AT","type":"education","lineage":["https://openalex.org/I145847075"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Ivan Radi\u010dek","raw_affiliation_strings":["Vienna University of Technology, Austria"],"affiliations":[{"raw_affiliation_string":"Vienna University of Technology, Austria","institution_ids":["https://openalex.org/I145847075"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5063337176","display_name":"Florian Zuleger","orcid":"https://orcid.org/0000-0003-1468-8398"},"institutions":[{"id":"https://openalex.org/I145847075","display_name":"TU Wien","ror":"https://ror.org/04d836q62","country_code":"AT","type":"education","lineage":["https://openalex.org/I145847075"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Florian Zuleger","raw_affiliation_strings":["Vienna University of Technology, Austria"],"affiliations":[{"raw_affiliation_string":"Vienna University of Technology, Austria","institution_ids":["https://openalex.org/I145847075"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5011543162"],"corresponding_institution_ids":["https://openalex.org/I1290206253"],"apc_list":null,"apc_paid":null,"fwci":19.183,"has_fulltext":true,"cited_by_count":119,"citation_normalized_percentile":{"value":0.99247143,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"465","last_page":"480"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/T10533","display_name":"Teaching and Learning Programming","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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.9994000196456909,"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/T10260","display_name":"Software Engineering Research","score":0.9922999739646912,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7935690879821777},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.7256307601928711},{"id":"https://openalex.org/keywords/cluster-analysis","display_name":"Cluster analysis","score":0.708839476108551},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.6182757019996643},{"id":"https://openalex.org/keywords/automation","display_name":"Automation","score":0.6061164736747742},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.5045129060745239},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4825679361820221},{"id":"https://openalex.org/keywords/quality","display_name":"Quality (philosophy)","score":0.47882798314094543},{"id":"https://openalex.org/keywords/scale","display_name":"Scale (ratio)","score":0.4155518710613251},{"id":"https://openalex.org/keywords/multimedia","display_name":"Multimedia","score":0.3275580108165741},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.24677380919456482},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.12007001042366028},{"id":"https://openalex.org/keywords/systems-engineering","display_name":"Systems engineering","score":0.11100557446479797},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.11090251803398132},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.07835343480110168}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7935690879821777},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.7256307601928711},{"id":"https://openalex.org/C73555534","wikidata":"https://www.wikidata.org/wiki/Q622825","display_name":"Cluster analysis","level":2,"score":0.708839476108551},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.6182757019996643},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.6061164736747742},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.5045129060745239},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4825679361820221},{"id":"https://openalex.org/C2779530757","wikidata":"https://www.wikidata.org/wiki/Q1207505","display_name":"Quality (philosophy)","level":2,"score":0.47882798314094543},{"id":"https://openalex.org/C2778755073","wikidata":"https://www.wikidata.org/wiki/Q10858537","display_name":"Scale (ratio)","level":2,"score":0.4155518710613251},{"id":"https://openalex.org/C49774154","wikidata":"https://www.wikidata.org/wiki/Q131765","display_name":"Multimedia","level":1,"score":0.3275580108165741},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.24677380919456482},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.12007001042366028},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.11100557446479797},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.11090251803398132},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.07835343480110168},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3192366.3192387","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3192366.3192387","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3192366.3192387","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3192366.3192387","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3192366.3192387","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3192366.3192387","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education","score":0.7200000286102295}],"awards":[{"id":"https://openalex.org/G6947071278","display_name":null,"funder_award_id":"S11403","funder_id":"https://openalex.org/F4320321181","funder_display_name":"Austrian Science Fund"},{"id":"https://openalex.org/G7052333967","display_name":null,"funder_award_id":"S11403-N23","funder_id":"https://openalex.org/F4320321181","funder_display_name":"Austrian Science Fund"}],"funders":[{"id":"https://openalex.org/F4320321181","display_name":"Austrian Science Fund","ror":"https://ror.org/013tf3c58"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2295100577.pdf","grobid_xml":"https://content.openalex.org/works/W2295100577.grobid-xml"},"referenced_works_count":40,"referenced_works":["https://openalex.org/W841012168","https://openalex.org/W1475493299","https://openalex.org/W1518546215","https://openalex.org/W1553534714","https://openalex.org/W1560374668","https://openalex.org/W1581576329","https://openalex.org/W1972087783","https://openalex.org/W1975009259","https://openalex.org/W1976373002","https://openalex.org/W2012312630","https://openalex.org/W2020638820","https://openalex.org/W2051740650","https://openalex.org/W2052247101","https://openalex.org/W2053492725","https://openalex.org/W2111326547","https://openalex.org/W2120484044","https://openalex.org/W2126071695","https://openalex.org/W2133068784","https://openalex.org/W2151497118","https://openalex.org/W2151828850","https://openalex.org/W2159076953","https://openalex.org/W2162055787","https://openalex.org/W2162535172","https://openalex.org/W2162844904","https://openalex.org/W2246775628","https://openalex.org/W2274071363","https://openalex.org/W2295100577","https://openalex.org/W2296178404","https://openalex.org/W2299643279","https://openalex.org/W2486590439","https://openalex.org/W2496554398","https://openalex.org/W2507186400","https://openalex.org/W2535220184","https://openalex.org/W2605403059","https://openalex.org/W2611588359","https://openalex.org/W2740349831","https://openalex.org/W2951254455","https://openalex.org/W2952808463","https://openalex.org/W2962809971","https://openalex.org/W6723545294"],"related_works":["https://openalex.org/W2389214306","https://openalex.org/W2965083567","https://openalex.org/W4235240664","https://openalex.org/W1838576100","https://openalex.org/W2757182831","https://openalex.org/W2095886385","https://openalex.org/W2089704382","https://openalex.org/W1983399550","https://openalex.org/W97075385","https://openalex.org/W2357523926"],"abstract_inverted_index":{"Providing":[0],"feedback":[1,38],"on":[2,101,138,158],"programming":[3,40,56],"assignments":[4],"is":[5,69],"a":[6,47,134,159],"tedious":[7],"task":[8],"for":[9,54],"the":[10,62,72,79,84,92,98],"instructor,":[11],"and":[12,67,95,140,165],"even":[13],"impossible":[14],"in":[15,39,86,143,173],"large":[16],"Massive":[17],"Open":[18],"Online":[19],"Courses":[20],"with":[21],"thousands":[22],"of":[23,61,97,118,123,128],"students.":[24],"Previous":[25],"research":[26],"has":[27],"suggested":[28],"that":[29,112,167],"program":[30,51],"repair":[31,52,78,116,141],"techniques":[32],"can":[33,115,170],"be":[34,171],"used":[35,172],"to":[36,70,77,163],"generate":[37],"education.":[41],"In":[42],"this":[43],"paper,":[44],"we":[45],"present":[46],"novel":[48],"fully":[49],"automated":[50],"algorithm":[53],"introductory":[55],"assignments.":[57],"The":[58],"key":[59],"idea":[60],"technique,":[63],"which":[64],"enables":[65],"automation":[66],"scalability,":[68],"use":[71],"existing":[73,108],"correct":[74],"student":[75,104,119],"solutions":[76],"incorrect":[80,103],"attempts.":[81],"We":[82,90,110,132,148],"evaluate":[83,91],"approach":[85,114,169],"two":[87],"experiments:":[88],"(I)":[89],"number,":[93],"size":[94],"quality":[96],"generated":[99],"repairs":[100,127],"4,293":[102],"attempts":[105],"from":[106,161],"an":[107,144,174],"MOOC.":[109],"find":[111],"our":[113,168],"97%":[117],"attempts,":[120],"while":[121],"81%":[122],"those":[124],"are":[125],"small":[126],"good":[129],"quality.":[130],"(II)":[131],"conduct":[133],"preliminary":[135],"user":[136],"study":[137],"performance":[139],"usefulness":[142,155],"interactive":[145,175],"teaching":[146],"setting.":[147,176],"obtain":[149],"promising":[150],"initial":[151],"results":[152],"(the":[153],"average":[154],"grade":[156],"3.4":[157],"scale":[160],"1":[162],"5),":[164],"conclude":[166]},"counts_by_year":[{"year":2025,"cited_by_count":15},{"year":2024,"cited_by_count":16},{"year":2023,"cited_by_count":16},{"year":2022,"cited_by_count":11},{"year":2021,"cited_by_count":23},{"year":2020,"cited_by_count":11},{"year":2019,"cited_by_count":18},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
