{"id":"https://openalex.org/W4379536762","doi":"https://doi.org/10.1145/3591250","title":"A Type System for Safe Intermittent Computing","display_name":"A Type System for Safe Intermittent Computing","publication_year":2023,"publication_date":"2023-06-06","ids":{"openalex":"https://openalex.org/W4379536762","doi":"https://doi.org/10.1145/3591250"},"language":"en","primary_location":{"id":"doi:10.1145/3591250","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591250","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591250","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/3591250","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5021370119","display_name":"Milijana Surbatovich","orcid":"https://orcid.org/0009-0004-6948-6683"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Milijana Surbatovich","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":"https://orcid.org/0009-0004-6948-6683","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5092102499","display_name":"Naomi Spargo","orcid":"https://orcid.org/0009-0001-1479-1574"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Naomi Spargo","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":"https://orcid.org/0009-0001-1479-1574","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087946116","display_name":"Limin Jia","orcid":"https://orcid.org/0000-0002-8160-349X"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Limin Jia","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":"https://orcid.org/0000-0002-8160-349X","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076249757","display_name":"Brandon Lucia","orcid":"https://orcid.org/0000-0003-4130-1099"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Brandon Lucia","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":"https://orcid.org/0000-0003-4130-1099","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5021370119"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":3.5909,"has_fulltext":true,"cited_by_count":12,"citation_normalized_percentile":{"value":0.93416641,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":98},"biblio":{"volume":"7","issue":"PLDI","first_page":"736","last_page":"760"},"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.9991999864578247,"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.9991999864578247,"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/T11424","display_name":"Security and Verification in Computing","score":0.9983999729156494,"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"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9980999827384949,"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.8026769161224365},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6824348568916321},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6551563143730164},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.5203728079795837},{"id":"https://openalex.org/keywords/generator","display_name":"Generator (circuit theory)","score":0.4811905026435852},{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.4681784212589264},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.44414541125297546},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.44090670347213745},{"id":"https://openalex.org/keywords/idempotence","display_name":"Idempotence","score":0.43746626377105713},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4192752242088318},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.37410715222358704},{"id":"https://openalex.org/keywords/power","display_name":"Power (physics)","score":0.2910706102848053}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8026769161224365},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6824348568916321},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6551563143730164},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5203728079795837},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.4811905026435852},{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.4681784212589264},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.44414541125297546},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.44090670347213745},{"id":"https://openalex.org/C172252984","wikidata":"https://www.wikidata.org/wiki/Q368988","display_name":"Idempotence","level":2,"score":0.43746626377105713},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4192752242088318},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.37410715222358704},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.2910706102848053},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","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/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3591250","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591250","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591250","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"}],"best_oa_location":{"id":"doi:10.1145/3591250","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591250","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591250","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":[{"display_name":"Affordable and clean energy","score":0.7900000214576721,"id":"https://metadata.un.org/sdg/7"}],"awards":[{"id":"https://openalex.org/G5203866541","display_name":"SHF: Small: Practical and Formal Foundations for Intermittent Computer Systems","funder_award_id":"2007998","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6309478803","display_name":null,"funder_award_id":"1751029","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6671297155","display_name":null,"funder_award_id":"CAREER","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8233193935","display_name":null,"funder_award_id":"1751029, 2007998","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/F4320318428","display_name":"Max Planck Institute for Software Systems","ror":null}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4379536762.pdf","grobid_xml":"https://content.openalex.org/works/W4379536762.grobid-xml"},"referenced_works_count":53,"referenced_works":["https://openalex.org/W1589806443","https://openalex.org/W2016017569","https://openalex.org/W2024338138","https://openalex.org/W2094873755","https://openalex.org/W2114707853","https://openalex.org/W2115721786","https://openalex.org/W2122049982","https://openalex.org/W2125563248","https://openalex.org/W2159291506","https://openalex.org/W2163264184","https://openalex.org/W2323498967","https://openalex.org/W2537482850","https://openalex.org/W2547947881","https://openalex.org/W2587445507","https://openalex.org/W2591725154","https://openalex.org/W2756350061","https://openalex.org/W2761242776","https://openalex.org/W2765313912","https://openalex.org/W2779850521","https://openalex.org/W2783569216","https://openalex.org/W2794259430","https://openalex.org/W2794284781","https://openalex.org/W2798797233","https://openalex.org/W2898269841","https://openalex.org/W2898443334","https://openalex.org/W2899106940","https://openalex.org/W2905585531","https://openalex.org/W2913530642","https://openalex.org/W2953858112","https://openalex.org/W2954315180","https://openalex.org/W2979324682","https://openalex.org/W2979682152","https://openalex.org/W2984507209","https://openalex.org/W2994905145","https://openalex.org/W2996725384","https://openalex.org/W3010948937","https://openalex.org/W3021039139","https://openalex.org/W3033686220","https://openalex.org/W3046136249","https://openalex.org/W3102258300","https://openalex.org/W3110473279","https://openalex.org/W3113776809","https://openalex.org/W3159646613","https://openalex.org/W3167828167","https://openalex.org/W3176970960","https://openalex.org/W3209913027","https://openalex.org/W4200475436","https://openalex.org/W4226285758","https://openalex.org/W4240363966","https://openalex.org/W4250281317","https://openalex.org/W4251941195","https://openalex.org/W4302028463","https://openalex.org/W6884733053"],"related_works":["https://openalex.org/W2040778456","https://openalex.org/W2111577037","https://openalex.org/W1580380563","https://openalex.org/W2030063121","https://openalex.org/W1998949396","https://openalex.org/W2058218097","https://openalex.org/W2765088138","https://openalex.org/W2889297400","https://openalex.org/W2783505431","https://openalex.org/W3181015145"],"abstract_inverted_index":{"Batteryless":[0],"energy-harvesting":[1],"devices":[2,16],"enable":[3],"computing":[4],"in":[5],"inaccessible":[6],"environments,":[7],"at":[8],"a":[9,24,60,64],"cost":[10],"to":[11,27,104,120,130,148,182,189,203],"programmability":[12],"and":[13,29,73,133,145,192],"correctness.":[14],"These":[15],"operate":[17],"intermittently":[18],"as":[19],"energy":[20],"is":[21,71],"available,":[22],"using":[23,87],"recovery":[25,206],"system":[26,118,158,201],"save":[28],"restore":[30],"state.":[31,96],"Some":[32],"program":[33],"tasks":[34],"must":[35],"execute":[36],"atomically":[37],"w.r.t.":[38],"power":[39,43],"failures,":[40],"re-executing":[41],"if":[42],"fails":[44],"before":[45],"completion.":[46],"Any":[47],"re-execution":[48],"should":[49,55],"typically":[50],"be":[51,190],"idempotent":[52],"\u2014its":[53],"behavior":[54,58],"match":[56],"the":[57,102,115,165],"of":[59,67,161],"single":[61],"execution.":[62],"Thus,":[63],"key":[65],"aspect":[66],"correct":[68],"intermittent":[69,81,200],"execution":[70],"identifying":[72],"recovering":[74,93],"state":[75],"causing":[76,151],"undesired":[77,152],"non-idempotence.":[78,153],"Unfortunately,":[79],"past":[80],"systems":[82,207],"take":[83],"an":[84],"ad-hoc":[85],"approach,":[86],"unsound":[88],"dataflow":[89],"analyses":[90],"or":[91],"conservatively":[92],"all":[94],"written":[95],"Moreover,":[97],"no":[98],"prior":[99,170],"work":[100],"allows":[101,128,199],"programmer":[103],"directly":[105],"specify":[106],"idempotence":[107,184],"requirements":[108,132,185],"(including":[109],"allowable":[110],"non-idempotence).":[111],"We":[112,154,172],"present":[113],"curricle,":[114],"first":[116],"type":[117,146,157],"approach":[119],"safe":[121],"intermittence,":[122],"for":[123,138],"Rust.":[124],"Type":[125],"level":[126],"reasoning":[127],"programmers":[129,178],"express":[131,183],"retains":[134],"alias":[135],"information":[136,143],"crucial":[137],"sound":[139],"analyses.":[140],"Curricle":[141,175,198],"uses":[142],"flow":[144],"qualifiers":[147],"reject":[149],"programs":[150,195],"implement":[155],"Curricle\u2019s":[156],"on":[159,167],"top":[160],"Rust\u2019s":[162],"compiler,":[163],"evaluating":[164],"prototype":[166],"benchmarks":[168],"from":[169],"work.":[171],"find":[173],"that":[174,186,193,208],"benefits":[176],"application":[177],"by":[179],"allowing":[180],"them":[181],"are":[187],"checked":[188,196],"satisfied,":[191],"targeting":[194],"with":[197],"designers":[202],"write":[204],"simpler":[205],"perform":[209],"better.":[210]},"counts_by_year":[{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":4}],"updated_date":"2026-03-27T05:58:40.876381","created_date":"2025-10-10T00:00:00"}
