{"id":"https://openalex.org/W3166827031","doi":"https://doi.org/10.1145/3649308","title":"Homeostasis: Design and Implementation of a Self-Stabilizing Compiler","display_name":"Homeostasis: Design and Implementation of a Self-Stabilizing Compiler","publication_year":2024,"publication_date":"2024-02-23","ids":{"openalex":"https://openalex.org/W3166827031","doi":"https://doi.org/10.1145/3649308","mag":"3166827031"},"language":"en","primary_location":{"id":"doi:10.1145/3649308","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3649308","pdf_url":null,"source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2106.01768","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5012355662","display_name":"Aman Nougrahiya","orcid":"https://orcid.org/0000-0002-2563-2480"},"institutions":[{"id":"https://openalex.org/I24676775","display_name":"Indian Institute of Technology Madras","ror":"https://ror.org/03v0r5n49","country_code":"IN","type":"facility","lineage":["https://openalex.org/I24676775"]}],"countries":["IN"],"is_corresponding":true,"raw_author_name":"Aman Nougrahiya","raw_affiliation_strings":["Department of CSE, IIT Madras, Chennai, India"],"affiliations":[{"raw_affiliation_string":"Department of CSE, IIT Madras, Chennai, India","institution_ids":["https://openalex.org/I24676775"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5022804082","display_name":"V. Krishna Nandivada","orcid":"https://orcid.org/0000-0002-5949-0046"},"institutions":[{"id":"https://openalex.org/I24676775","display_name":"Indian Institute of Technology Madras","ror":"https://ror.org/03v0r5n49","country_code":"IN","type":"facility","lineage":["https://openalex.org/I24676775"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"V. Krishna Nandivada","raw_affiliation_strings":["Department of CSE, IIT Madras, Chennai, India"],"affiliations":[{"raw_affiliation_string":"Department of CSE, IIT Madras, Chennai, India","institution_ids":["https://openalex.org/I24676775"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5012355662"],"corresponding_institution_ids":["https://openalex.org/I24676775"],"apc_list":null,"apc_paid":null,"fwci":1.4473,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.78869381,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":96,"max":97},"biblio":{"volume":"46","issue":"2","first_page":"1","last_page":"58"},"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.9998000264167786,"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.9998000264167786,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9986000061035156,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T12127","display_name":"Software System Performance and Reliability","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.892209529876709},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8866426944732666},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.745576798915863},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6435364484786987},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5887163877487183},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.5686509013175964},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.4995148181915283},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.45986509323120117},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.45601609349250793},{"id":"https://openalex.org/keywords/graph-rewriting","display_name":"Graph rewriting","score":0.452814519405365},{"id":"https://openalex.org/keywords/compiler-correctness","display_name":"Compiler correctness","score":0.41435396671295166},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.34938856959342957},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.33366328477859497},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.2771243751049042}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.892209529876709},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8866426944732666},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.745576798915863},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6435364484786987},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5887163877487183},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.5686509013175964},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.4995148181915283},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.45986509323120117},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.45601609349250793},{"id":"https://openalex.org/C558772884","wikidata":"https://www.wikidata.org/wiki/Q1508564","display_name":"Graph rewriting","level":3,"score":0.452814519405365},{"id":"https://openalex.org/C68366613","wikidata":"https://www.wikidata.org/wiki/Q5156378","display_name":"Compiler correctness","level":3,"score":0.41435396671295166},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.34938856959342957},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.33366328477859497},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.2771243751049042},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3649308","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3649308","pdf_url":null,"source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2106.01768","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2106.01768","pdf_url":"https://arxiv.org/pdf/2106.01768","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2106.01768","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2106.01768","pdf_url":"https://arxiv.org/pdf/2106.01768","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"text"},"sustainable_development_goals":[{"score":0.4300000071525574,"id":"https://metadata.un.org/sdg/17","display_name":"Partnerships for the goals"}],"awards":[{"id":"https://openalex.org/G7159430372","display_name":null,"funder_award_id":"SERB CRG","funder_id":"https://openalex.org/F4320334771","funder_display_name":"Science and Engineering Research Board"}],"funders":[{"id":"https://openalex.org/F4320322211","display_name":"Indian Institute of Technology Madras","ror":"https://ror.org/03v0r5n49"},{"id":"https://openalex.org/F4320334771","display_name":"Science and Engineering Research Board","ror":"https://ror.org/03ffdsr55"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":61,"referenced_works":["https://openalex.org/W184318739","https://openalex.org/W625772702","https://openalex.org/W1486915527","https://openalex.org/W1516961008","https://openalex.org/W1551608458","https://openalex.org/W1562692945","https://openalex.org/W1575392281","https://openalex.org/W1649645444","https://openalex.org/W1664707389","https://openalex.org/W1965162295","https://openalex.org/W1971365517","https://openalex.org/W1980856286","https://openalex.org/W1982527649","https://openalex.org/W1983711382","https://openalex.org/W1988103660","https://openalex.org/W1988888548","https://openalex.org/W1996800645","https://openalex.org/W2011749833","https://openalex.org/W2012394090","https://openalex.org/W2013433526","https://openalex.org/W2019386850","https://openalex.org/W2022043656","https://openalex.org/W2026794345","https://openalex.org/W2029068974","https://openalex.org/W2031364891","https://openalex.org/W2035256749","https://openalex.org/W2046531404","https://openalex.org/W2069278717","https://openalex.org/W2080696000","https://openalex.org/W2095304079","https://openalex.org/W2120339017","https://openalex.org/W2133417396","https://openalex.org/W2149207009","https://openalex.org/W2149237601","https://openalex.org/W2152565783","https://openalex.org/W2153185479","https://openalex.org/W2162436812","https://openalex.org/W2169248772","https://openalex.org/W2212195622","https://openalex.org/W2273440736","https://openalex.org/W2513927163","https://openalex.org/W2593316846","https://openalex.org/W2619304274","https://openalex.org/W2897520805","https://openalex.org/W2898152370","https://openalex.org/W2920740222","https://openalex.org/W2954187410","https://openalex.org/W2963554209","https://openalex.org/W2980018082","https://openalex.org/W2984882580","https://openalex.org/W2999399510","https://openalex.org/W3006649941","https://openalex.org/W3115796600","https://openalex.org/W3122466558","https://openalex.org/W3174779340","https://openalex.org/W3189142755","https://openalex.org/W4225159042","https://openalex.org/W4232721894","https://openalex.org/W4235189999","https://openalex.org/W4236799059","https://openalex.org/W4243649283"],"related_works":["https://openalex.org/W2888997865","https://openalex.org/W4246454774","https://openalex.org/W2121223013","https://openalex.org/W2112914024","https://openalex.org/W2525463489","https://openalex.org/W2169584677","https://openalex.org/W4220800565","https://openalex.org/W4232954277","https://openalex.org/W185043635","https://openalex.org/W192321465"],"abstract_inverted_index":{"Mainstream":[0],"compilers":[1,218],"perform":[2,108],"a":[3,22,50,166,200,206,230,249,256],"multitude":[4],"of":[5,33,37,39,44,49,68,111,129,150,165,203,214,219,242,251,258,273,275,284,288,298],"analyses":[6,57],"and":[7,42,114,146,163,185,205,255,301,309],"optimizations":[8,260,277,300],"on":[9],"the":[10,45,52,62,66,69,80,88,97,102,112,119,126,131,137,140,147,161,177,188,192,212,240,289,296],"given":[11],"input":[12],"program.":[13,46,64,99],"Each":[14,28],"analysis":[15],"(such":[16,24],"as":[17,25],"points-to":[18,26],"analysis)":[19],"may":[20,58],"generate":[21],"program-abstraction":[23],"graph).":[27],"optimization":[29],"is":[30,142,307],"typically":[31],"composed":[32],"multiple":[34],"alternating":[35],"phases":[36,75],"inspection":[38,71],"such":[40],"program-abstractions":[41,53,82,89,113,133],"transformations":[43],"Upon":[47],"transformation":[48,183],"program,":[51],"generated":[54],"by":[55,159,181],"various":[56],"become":[59],"inconsistent":[60],"with":[61,96,125],"modified":[63,98],"Consequently,":[65],"correctness":[67,207],"downstream":[70],"(and":[72],"consequent":[73],"transformation)":[74],"cannot":[76],"be":[77,135,144],"ensured":[78],"until":[79],"relevant":[81,132],"are":[83,90,262],"stabilized":[84],";":[85],"that":[86,261,305],"is,":[87],"either":[91],"invalidated":[92],"or":[93],"made":[94],"consistent":[95],"In":[100,152],"general,":[101],"existing":[103],"compiler":[104,120,231],"frameworks":[105],"do":[106],"not":[107],"automated":[109],"stabilization":[110,141,190,287],"instead":[115],"leave":[116],"it":[117],"to":[118,123,134,143,238,264,311],"pass":[121],"writers":[122],"deal":[124],"complex":[127],"task":[128],"identifying":[130],"stabilized,":[136],"points":[138],"where":[139],"performed,":[145],"exact":[148],"procedure":[149],"stabilization.":[151],"this":[153],"article,":[154],"we":[155,222,246],"address":[156],"these":[157,276,299],"challenges":[158],"providing":[160],"design":[162],"implementation":[164],"novel":[167],"compiler-design":[168],"framework":[169,232],"called":[170],"Homeostasis":[171,173,204,216,244,306],".":[172],"automatically":[174],"captures":[175],"all":[176],"program":[178],"changes":[179],"performed":[180],"each":[182],"phase,":[184],"later,":[186],"triggers":[187],"required":[189,280],"using":[191,215,243],"captured":[193],"information,":[194],"if":[195],"needed.":[196],"We":[197,291],"also":[198],"provide":[199],"formal":[201],"description":[202],"proof":[208],"thereof.":[209],"To":[210],"assess":[211],"feasibility":[213],"in":[217,228,268,278,295],"parallel":[220],"programs,":[221],"have":[223,247],"implemented":[224,248],"our":[225],"proposed":[226],"idea":[227],"IMOP,":[229],"for":[233,286],"OpenMP":[234,269],"C":[235,270],"programs.":[236,271],"Furthermore,":[237],"illustrate":[239],"benefits":[241],",":[245],"set":[250,257],"standard":[252],"data-flow":[253],"passes,":[254],"involved":[259],"used":[263],"remove":[265],"redundant":[266],"barriers":[267],"Implementations":[272],"none":[274],"IMOP":[279],"any":[281],"additional":[282],"lines":[283],"code":[285],"program-abstractions.":[290],"present":[292],"an":[293],"evaluation":[294],"context":[297],"analyses,":[302],"which":[303],"demonstrates":[304],"efficient":[308],"easy":[310],"use.":[312]},"counts_by_year":[{"year":2025,"cited_by_count":3}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
