{"id":"https://openalex.org/W3159646613","doi":"https://doi.org/10.1145/3453483.3454081","title":"Automatically enforcing fresh and consistent inputs in intermittent systems","display_name":"Automatically enforcing fresh and consistent inputs in intermittent systems","publication_year":2021,"publication_date":"2021-06-18","ids":{"openalex":"https://openalex.org/W3159646613","doi":"https://doi.org/10.1145/3453483.3454081","mag":"3159646613"},"language":"en","primary_location":{"id":"doi:10.1145/3453483.3454081","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454081","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454081","source":null,"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 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454081","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Milijana Surbatovich","orcid":null},"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"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Limin Jia","orcid":null},"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"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":null,"display_name":"Brandon Lucia","orcid":null},"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"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":3.5371,"has_fulltext":true,"cited_by_count":22,"citation_normalized_percentile":{"value":0.92841815,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"851","last_page":"866"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9994000196456909,"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/T10904","display_name":"Embedded Systems Design 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"}}],"keywords":[{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.7900000214576721},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.6671000123023987},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.656000018119812},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.6516000032424927},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5318999886512756},{"id":"https://openalex.org/keywords/power","display_name":"Power (physics)","score":0.4375999867916107},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4120999872684479},{"id":"https://openalex.org/keywords/expressive-power","display_name":"Expressive power","score":0.33090001344680786}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8270999789237976},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.7900000214576721},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.6671000123023987},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.656000018119812},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.6516000032424927},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5318999886512756},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.4375999867916107},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4284000098705292},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.42739999294281006},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4120999872684479},{"id":"https://openalex.org/C195818886","wikidata":"https://www.wikidata.org/wiki/Q5421724","display_name":"Expressive power","level":2,"score":0.33090001344680786},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.3197999894618988},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.31139999628067017},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.3100999891757965},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.302700012922287},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.29660001397132874},{"id":"https://openalex.org/C79403827","wikidata":"https://www.wikidata.org/wiki/Q3988","display_name":"Real-time computing","level":1,"score":0.2743000090122223},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.27399998903274536},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.2732999920845032},{"id":"https://openalex.org/C116253237","wikidata":"https://www.wikidata.org/wiki/Q1437424","display_name":"Formal specification","level":2,"score":0.2711000144481659},{"id":"https://openalex.org/C75606506","wikidata":"https://www.wikidata.org/wiki/Q1049183","display_name":"Formal methods","level":2,"score":0.2709999978542328},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.2669000029563904}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3453483.3454081","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454081","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454081","source":null,"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 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:2104.04616","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2104.04616","pdf_url":"https://arxiv.org/pdf/2104.04616","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":"doi:10.1145/3453483.3454081","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454081","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454081","source":null,"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 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[],"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/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"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3159646613.pdf","grobid_xml":"https://content.openalex.org/works/W3159646613.grobid-xml"},"referenced_works_count":50,"referenced_works":["https://openalex.org/W1595523781","https://openalex.org/W2024338138","https://openalex.org/W2053656235","https://openalex.org/W2073742357","https://openalex.org/W2092911542","https://openalex.org/W2103685452","https://openalex.org/W2113751407","https://openalex.org/W2114661031","https://openalex.org/W2115721786","https://openalex.org/W2121497251","https://openalex.org/W2125563248","https://openalex.org/W2134164054","https://openalex.org/W2137422315","https://openalex.org/W2153185479","https://openalex.org/W2164298032","https://openalex.org/W2291146106","https://openalex.org/W2323498967","https://openalex.org/W2537482850","https://openalex.org/W2587445507","https://openalex.org/W2626726782","https://openalex.org/W2756350061","https://openalex.org/W2761242776","https://openalex.org/W2779850521","https://openalex.org/W2780595989","https://openalex.org/W2790352815","https://openalex.org/W2794259430","https://openalex.org/W2889270696","https://openalex.org/W2897303255","https://openalex.org/W2898269841","https://openalex.org/W2898443334","https://openalex.org/W2899106940","https://openalex.org/W2901454403","https://openalex.org/W2953858112","https://openalex.org/W2954315180","https://openalex.org/W2971956498","https://openalex.org/W2979324682","https://openalex.org/W2979682152","https://openalex.org/W2979945823","https://openalex.org/W2980046617","https://openalex.org/W2984507209","https://openalex.org/W2987383153","https://openalex.org/W2994905145","https://openalex.org/W2996634758","https://openalex.org/W3010948937","https://openalex.org/W3011214831","https://openalex.org/W3011505045","https://openalex.org/W3021039139","https://openalex.org/W3033686220","https://openalex.org/W3046136249","https://openalex.org/W4246974801"],"related_works":[],"abstract_inverted_index":{"Intermittently":[0],"powered":[1,42],"energy-harvesting":[2],"devices":[3],"enable":[4],"new":[5,20],"applications":[6],"in":[7,22,37,81,102,150],"inaccessible":[8],"environments.":[9],"Program":[10],"executions":[11],"must":[12,74,95],"be":[13,49,114],"robust":[14],"to":[15,56,130,141,153],"unpredictable":[16],"power":[17],"failures,":[18],"introducing":[19],"challenges":[21],"programmability":[23],"and":[24,51,84,109,125,145,161],"correctness.":[25],"One":[26],"hard":[27],"problem":[28],"is":[29],"that":[30,111,163],"input":[31,46],"operations":[32],"have":[33],"implicit":[34],"constraints,":[35],"embedded":[36],"the":[38,76,88,97,137],"behavior":[39],"of":[40,72,90,93],"continuously":[41],"executions,":[43],"on":[44],"when":[45],"values":[47],"can":[48,113],"collected":[50],"used.":[52],"This":[53],"paper":[54],"aims":[55],"develop":[57,120],"a":[58,91,151],"formal":[59],"framework":[60],"for":[61],"enforcing":[62],"these":[63,107,132,143],"constraints.":[64],"We":[65,105,119,156],"identify":[66],"two":[67],"key":[68],"properties---freshness":[69],"(i.e.,":[70,87],"uses":[71],"inputs":[73,94],"satisfy":[75,96,154],"same":[77,98],"time":[78,99],"constraints":[79,100,144],"as":[80,101],"continuous":[82,103],"executions)":[83],"temporal":[85],"consistency":[86],"collection":[89],"set":[92],"executions).":[104],"formalize":[106,158],"properties":[108,133],"show":[110,162],"they":[112],"enforced":[115],"using":[116],"atomic":[117,147],"regions.":[118],"Ocelot,":[121],"an":[122],"LLVM-based":[123],"analysis":[124],"transformation":[126],"tool":[127],"targeting":[128],"Rust,":[129],"enforce":[131],"automatically.":[134],"Ocelot":[135,164],"provides":[136],"programmer":[138],"with":[139,168],"annotations":[140],"express":[142],"infers":[146],"region":[148],"placement":[149],"program":[152],"them.":[155],"then":[157],"Ocelot's":[159],"design":[160],"generates":[165],"correct":[166],"programs":[167],"little":[169],"performance":[170],"cost":[171],"or":[172],"code":[173],"changes.":[174]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":8}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2021-05-10T00:00:00"}
