{"id":"https://openalex.org/W2939939350","doi":"https://doi.org/10.1145/3314221.3314592","title":"Composable, sound transformations of nested recursion and loops","display_name":"Composable, sound transformations of nested recursion and loops","publication_year":2019,"publication_date":"2019-06-07","ids":{"openalex":"https://openalex.org/W2939939350","doi":"https://doi.org/10.1145/3314221.3314592","mag":"2939939350"},"language":"en","primary_location":{"id":"doi:10.1145/3314221.3314592","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3314221.3314592","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314592","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314592","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5028997869","display_name":"Kirshanthan Sundararajah","orcid":"https://orcid.org/0000-0001-6384-062X"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Kirshanthan Sundararajah","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5075916086","display_name":"Milind Kulkarni","orcid":"https://orcid.org/0000-0001-6827-345X"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Milind Kulkarni","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5028997869"],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":0.9875,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.72914821,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"902","last_page":"917"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.998199999332428,"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/computer-science","display_name":"Computer science","score":0.829704999923706},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.7796295285224915},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7208359837532043},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.7148232460021973},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.6995964050292969},{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.6341013312339783},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.5774192810058594},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5404812097549438},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5371096730232239},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.49911975860595703},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4448848366737366},{"id":"https://openalex.org/keywords/loop-fusion","display_name":"Loop fusion","score":0.4401237964630127},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.29866474866867065},{"id":"https://openalex.org/keywords/mathematical-optimization","display_name":"Mathematical optimization","score":0.13622480630874634},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.11254388093948364}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.829704999923706},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.7796295285224915},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7208359837532043},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.7148232460021973},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.6995964050292969},{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.6341013312339783},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.5774192810058594},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5404812097549438},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5371096730232239},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.49911975860595703},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4448848366737366},{"id":"https://openalex.org/C82653869","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fusion","level":3,"score":0.4401237964630127},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.29866474866867065},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.13622480630874634},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.11254388093948364},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/3314221.3314592","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3314221.3314592","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314592","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:docs.lib.purdue.edu:dissertations-41735","is_oa":false,"landing_page_url":"https://docs.lib.purdue.edu/dissertations/AAI30685569","pdf_url":null,"source":{"id":"https://openalex.org/S4377196310","display_name":"Purdue e-Pubs (Purdue University System)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2801333002","host_organization_name":"Purdue University System","host_organization_lineage":["https://openalex.org/I2801333002"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Theses and Dissertations Available from ProQuest","raw_type":"text"},{"id":"pmh:oai:docs.lib.purdue.edu:ecetr-1760","is_oa":false,"landing_page_url":"https://docs.lib.purdue.edu/ecetr/756","pdf_url":null,"source":{"id":"https://openalex.org/S4306401098","display_name":"Purdue e-Pubs (Purdue University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I219193219","host_organization_name":"Purdue University West Lafayette","host_organization_lineage":["https://openalex.org/I219193219"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Department of Electrical and Computer Engineering Technical Reports","raw_type":"text"},{"id":"pmh:oai:figshare.com:article/23744625","is_oa":true,"landing_page_url":"https://figshare.com/articles/thesis/Composable_Sound_Transformations_for_Nested_Recursion_and_Loops/23744625","pdf_url":null,"source":{"id":"https://openalex.org/S4377196282","display_name":"Figshare","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210132348","host_organization_name":"Figshare (United Kingdom)","host_organization_lineage":["https://openalex.org/I4210132348"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},{"id":"doi:10.25394/pgs.23744625.v1","is_oa":true,"landing_page_url":"https://doi.org/10.25394/pgs.23744625.v1","pdf_url":null,"source":{"id":"https://openalex.org/S7407051384","display_name":"Purdue","issn_l":null,"issn":[],"is_oa":false,"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","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"thesis"}],"best_oa_location":{"id":"doi:10.1145/3314221.3314592","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3314221.3314592","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314592","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G196302251","display_name":null,"funder_award_id":"DE-SC0010295","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G4484280681","display_name":null,"funder_award_id":"CCF-1725672","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G782747244","display_name":null,"funder_award_id":"17256","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8377180531","display_name":"SPX: Collaborative Research: Eat your Wheaties: Multi-Grain Compilers for Parallel Builds at Every Scale","funder_award_id":"1725672","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320306084","display_name":"U.S. Department of Energy","ror":"https://ror.org/01bj3aw27"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2939939350.pdf","grobid_xml":"https://content.openalex.org/works/W2939939350.grobid-xml"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W1485372940","https://openalex.org/W1494930385","https://openalex.org/W1513168562","https://openalex.org/W1544123358","https://openalex.org/W1966515438","https://openalex.org/W1970141743","https://openalex.org/W2002252837","https://openalex.org/W2010418442","https://openalex.org/W2019410896","https://openalex.org/W2032032242","https://openalex.org/W2034761517","https://openalex.org/W2049487370","https://openalex.org/W2054801208","https://openalex.org/W2057569957","https://openalex.org/W2063249715","https://openalex.org/W2089672258","https://openalex.org/W2095407217","https://openalex.org/W2097699872","https://openalex.org/W2098220211","https://openalex.org/W2107742417","https://openalex.org/W2117780239","https://openalex.org/W2119609467","https://openalex.org/W2142761843","https://openalex.org/W2148597203","https://openalex.org/W2167988313","https://openalex.org/W2295982679","https://openalex.org/W2298668594","https://openalex.org/W2565437821","https://openalex.org/W2584066715","https://openalex.org/W2604754884","https://openalex.org/W2619614312","https://openalex.org/W2728372868","https://openalex.org/W2735651935","https://openalex.org/W2761240515","https://openalex.org/W2983923412","https://openalex.org/W4231521071","https://openalex.org/W4233973673","https://openalex.org/W4234853678","https://openalex.org/W4238596836","https://openalex.org/W4240515487","https://openalex.org/W4246263814","https://openalex.org/W4247200285","https://openalex.org/W4302620425"],"related_works":["https://openalex.org/W4254171597","https://openalex.org/W2604754884","https://openalex.org/W2342605656","https://openalex.org/W2040522199","https://openalex.org/W2159360349","https://openalex.org/W4238596836","https://openalex.org/W1577903309","https://openalex.org/W4255608642","https://openalex.org/W4251529006","https://openalex.org/W2112391112"],"abstract_inverted_index":{"Scheduling":[0],"transformations":[1,24],"reorder":[2],"a":[3,15],"program\u2019s":[4],"operations":[5],"to":[6],"improve":[7],"locality":[8],"and/or":[9],"parallelism.":[10],"The":[11],"polyhedral":[12],"model":[13],"is":[14,30],"general":[16],"framework":[17,33],"for":[18,25,34,42],"composing":[19,43,66],"and":[20,44,50,67],"applying":[21,45,68],"instance-wise":[22],"scheduling":[23,46],"loop-based":[26],"programs,":[27],"but":[28],"there":[29],"no":[31],"analogous":[32],"recursive":[35,54],"programs.":[36,55],"This":[37,56],"paper":[38,57],"presents":[39],"an":[40],"approach":[41],"transformations\u2014like":[47],"inlining,":[48],"interchange,":[49],"code":[51],"motion\u2014to":[52],"nested":[53],"describes":[58],"the":[59,62,79],"phases":[60],"of":[61,81],"approach\u2014representing":[63],"dynamic":[64],"instances,":[65],"transformations,":[69],"reasoning":[70],"about":[71],"correctness\u2014and":[72],"shows":[73],"that":[74],"these":[75],"techniques":[76],"can":[77],"verify":[78],"soundness":[80],"composed":[82],"transformations.":[83]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
