{"id":"https://openalex.org/W4379534296","doi":"https://doi.org/10.1145/3591258","title":"Proving and Disproving Equivalence of Functional Programming Assignments","display_name":"Proving and Disproving Equivalence of Functional Programming Assignments","publication_year":2023,"publication_date":"2023-06-06","ids":{"openalex":"https://openalex.org/W4379534296","doi":"https://doi.org/10.1145/3591258"},"language":"en","primary_location":{"id":"doi:10.1145/3591258","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591258","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591258","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3591258","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5092101632","display_name":"Dragana Milovan\u010devi\u0107","orcid":"https://orcid.org/0009-0003-0795-881X"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Dragana Milovan\u010devi\u0107","raw_affiliation_strings":["EPFL, Switzerland"],"raw_orcid":"https://orcid.org/0009-0003-0795-881X","affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5008699657","display_name":"Viktor Kun\u010dak","orcid":"https://orcid.org/0000-0001-7044-9522"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Viktor Kun\u010dak","raw_affiliation_strings":["EPFL, Switzerland"],"raw_orcid":"https://orcid.org/0000-0001-7044-9522","affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5092101632"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":1.4538,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.87963974,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"7","issue":"PLDI","first_page":"928","last_page":"951"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9990000128746033,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9990000128746033,"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.9984999895095825,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9973999857902527,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/correctness","display_name":"Correctness","score":0.8104047775268555},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7925477027893066},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.645301342010498},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.5868881940841675},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5100210309028625},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.49952006340026855},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.489981085062027},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.46653133630752563},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.4522937536239624},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.3093479871749878},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13989168405532837},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.08220642805099487},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.07882076501846313}],"concepts":[{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.8104047775268555},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7925477027893066},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.645301342010498},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.5868881940841675},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5100210309028625},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.49952006340026855},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.489981085062027},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.46653133630752563},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.4522937536239624},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.3093479871749878},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13989168405532837},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.08220642805099487},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.07882076501846313},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3591258","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591258","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591258","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:infoscience.epfl.ch:290689","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/183808","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"conference proceedings"}],"best_oa_location":{"id":"doi:10.1145/3591258","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591258","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591258","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.47999998927116394,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4379534296.pdf","grobid_xml":"https://content.openalex.org/works/W4379534296.grobid-xml"},"referenced_works_count":64,"referenced_works":["https://openalex.org/W72265089","https://openalex.org/W100631053","https://openalex.org/W174956004","https://openalex.org/W1480909796","https://openalex.org/W1545038039","https://openalex.org/W1553352239","https://openalex.org/W1553511155","https://openalex.org/W1771925833","https://openalex.org/W1810306334","https://openalex.org/W1831545713","https://openalex.org/W1856554806","https://openalex.org/W1978898818","https://openalex.org/W2050948770","https://openalex.org/W2067871120","https://openalex.org/W2076771354","https://openalex.org/W2126001891","https://openalex.org/W2138224468","https://openalex.org/W2163099584","https://openalex.org/W2166089338","https://openalex.org/W2228968538","https://openalex.org/W2234299051","https://openalex.org/W2295100577","https://openalex.org/W2299643279","https://openalex.org/W2408152518","https://openalex.org/W2474318526","https://openalex.org/W2554831868","https://openalex.org/W2591626899","https://openalex.org/W2599650177","https://openalex.org/W2771024256","https://openalex.org/W2886585694","https://openalex.org/W2893106650","https://openalex.org/W2898097209","https://openalex.org/W2898319337","https://openalex.org/W2921114217","https://openalex.org/W2927725532","https://openalex.org/W2954725723","https://openalex.org/W2964206513","https://openalex.org/W2964296984","https://openalex.org/W2968112967","https://openalex.org/W2976476648","https://openalex.org/W2979368354","https://openalex.org/W3003163926","https://openalex.org/W3009805852","https://openalex.org/W3010314744","https://openalex.org/W3010700826","https://openalex.org/W3087458664","https://openalex.org/W3093192154","https://openalex.org/W3098557859","https://openalex.org/W3106928412","https://openalex.org/W3109826332","https://openalex.org/W3123689272","https://openalex.org/W3124987254","https://openalex.org/W3164004581","https://openalex.org/W3185574054","https://openalex.org/W3193800237","https://openalex.org/W4246691913","https://openalex.org/W4250846042","https://openalex.org/W4251691259","https://openalex.org/W4281848109","https://openalex.org/W4289433365","https://openalex.org/W4300934094","https://openalex.org/W4307731886","https://openalex.org/W4393752495","https://openalex.org/W6931880394"],"related_works":["https://openalex.org/W55831818","https://openalex.org/W2004997206","https://openalex.org/W2905001159","https://openalex.org/W4252702401","https://openalex.org/W301967743","https://openalex.org/W2469935013","https://openalex.org/W593478746","https://openalex.org/W3016342375","https://openalex.org/W2594924361","https://openalex.org/W2566335152"],"abstract_inverted_index":{"We":[0,83,101,122,140,172],"present":[1],"an":[2,57],"automated":[3,58],"approach":[4,24,125],"to":[5,37,65,76,114,133,170],"verify":[6],"the":[7,14,50,110,129,159,166],"correctness":[8,42,182],"of":[9,43,52,72,79,112,128,137,179],"programming":[10,21,55,155],"assignments,":[11],"such":[12,168],"as":[13,26],"ones":[15],"that":[16,108,174],"arise":[17],"in":[18,49,69],"a":[19,53,70,105,153,195],"functional":[20,90,154],"course.":[22],"Our":[23],"takes":[25],"input":[27],"student":[28,120],"submissions":[29,80],"and":[30,33,74,92,144,157,188],"reference":[31,117],"solutions,":[32],"uses":[34],"equivalence":[35,113,135,161,186],"checking":[36,136,162],"automatically":[38],"prove":[39],"or":[40],"disprove":[41],"each":[44],"submission.":[45],"To":[46],"be":[47,62],"effective":[48],"context":[51],"real-world":[54],"course,":[56],"grading":[59],"system":[60,143,176],"must":[61],"both":[63],"robust,":[64],"support":[66,134],"programs":[67,150],"written":[68],"variety":[71],"style,":[73],"scalable,":[75],"treat":[77],"hundreds":[78],"at":[81],"once.":[82],"achieve":[84,102],"robustness":[85],"by":[86,93,183],"handling":[87,94],"recursion":[88],"using":[89,97,104],"induction":[91],"auxiliary":[95],"functions":[96],"function":[98],"call":[99],"matching.":[100],"scalability":[103],"clustering":[106],"algorithm":[107],"leverages":[109],"transitivity":[111],"discover":[115],"intermediate":[116],"solutions":[118],"among":[119],"submissions.":[121],"implement":[123],"our":[124,142,175],"on":[126,147],"top":[127],"Stainless":[130],"verification":[131],"system,":[132],"Scala":[138],"programs.":[139],"evaluate":[141],"its":[145],"components":[146],"over":[148],"4000":[149],"drawn":[151],"from":[152,158],"course":[156],"program":[160,181],"literature;":[163],"this":[164],"is":[165,177],"largest":[167],"evaluation":[169],"date.":[171],"show":[173],"capable":[178],"proving":[180],"generating":[184],"inductive":[185],"proofs,":[187],"providing":[189],"counterexamples":[190],"for":[191],"incorrect":[192],"programs,":[193],"with":[194],"high":[196],"success":[197],"rate.":[198]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":1}],"updated_date":"2026-05-21T09:19:25.381259","created_date":"2025-10-10T00:00:00"}
