{"id":"https://openalex.org/W2753797456","doi":"https://doi.org/10.1145/3124680.3124729","title":"Programming for Non-Volatile Main Memory Is Hard","display_name":"Programming for Non-Volatile Main Memory Is Hard","publication_year":2017,"publication_date":"2017-09-02","ids":{"openalex":"https://openalex.org/W2753797456","doi":"https://doi.org/10.1145/3124680.3124729","mag":"2753797456"},"language":"en","primary_location":{"id":"doi:10.1145/3124680.3124729","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3124680.3124729","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5027304285","display_name":"Jinglei Ren","orcid":null},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Jinglei Ren","raw_affiliation_strings":["Microsoft Research"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072092607","display_name":"Qingda Hu","orcid":null},"institutions":[{"id":"https://openalex.org/I99065089","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549","country_code":"CN","type":"education","lineage":["https://openalex.org/I99065089"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Qingda Hu","raw_affiliation_strings":["Tsinghua University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tsinghua University","institution_ids":["https://openalex.org/I99065089"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070152284","display_name":"Samira Khan","orcid":"https://orcid.org/0000-0002-0300-3034"},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Samira Khan","raw_affiliation_strings":["University of Virginia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Virginia","institution_ids":["https://openalex.org/I51556381"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5041937385","display_name":"Thomas Moscibroda","orcid":"https://orcid.org/0000-0002-8729-7841"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Thomas Moscibroda","raw_affiliation_strings":["Microsoft Research"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":24,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"8"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9995999932289124,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9994999766349792,"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.8156641721725464},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.532763659954071},{"id":"https://openalex.org/keywords/field","display_name":"Field (mathematics)","score":0.5052266716957092},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.5004868507385254},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4730217456817627},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.46759361028671265},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.46401581168174744},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.4512823522090912},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3481145203113556},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1502457559108734}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8156641721725464},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.532763659954071},{"id":"https://openalex.org/C9652623","wikidata":"https://www.wikidata.org/wiki/Q190109","display_name":"Field (mathematics)","level":2,"score":0.5052266716957092},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.5004868507385254},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4730217456817627},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46759361028671265},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.46401581168174744},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.4512823522090912},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3481145203113556},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1502457559108734},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3124680.3124729","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3124680.3124729","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W1437323374","https://openalex.org/W1551401333","https://openalex.org/W1567210335","https://openalex.org/W1649645444","https://openalex.org/W1865162546","https://openalex.org/W1972388231","https://openalex.org/W1987201308","https://openalex.org/W2005887179","https://openalex.org/W2010216838","https://openalex.org/W2015194563","https://openalex.org/W2028802049","https://openalex.org/W2033811947","https://openalex.org/W2113637091","https://openalex.org/W2147926533","https://openalex.org/W2150662965","https://openalex.org/W2166905397","https://openalex.org/W2234174598","https://openalex.org/W2324329793","https://openalex.org/W2333451476","https://openalex.org/W2411778045","https://openalex.org/W2578828332","https://openalex.org/W2593354228","https://openalex.org/W2610308442","https://openalex.org/W2612728990","https://openalex.org/W2620706897","https://openalex.org/W2751343396","https://openalex.org/W4232973962"],"related_works":["https://openalex.org/W2022585506","https://openalex.org/W4387445043","https://openalex.org/W4296878212","https://openalex.org/W2039406101","https://openalex.org/W1943224404","https://openalex.org/W2161156675","https://openalex.org/W4248653691","https://openalex.org/W2378928660","https://openalex.org/W3117088238","https://openalex.org/W1988273104"],"abstract_inverted_index":{"Using":[0],"non-volatile":[1],"memory":[2,5],"as":[3],"main":[4],"(NVMM)":[6],"can":[7,107],"largely":[8],"improve":[9],"the":[10,17,63,109,130],"performance":[11],"of":[12,19,44,70,95,104,111],"applications,":[13],"but":[14],"adds":[15],"to":[16,25,29,54],"challenge":[18],"programming":[20,59,85,98],"--":[21],"it":[22],"turns":[23],"out":[24],"be":[26],"very":[27],"error-prone":[28],"write":[30],"real-world":[31],"NVMM":[32,46,58,84,97,119],"programs,":[33],"especially":[34],"with":[35],"object-oriented":[36],"programming.":[37],"This":[38],"paper":[39],"presents":[40],"a":[41,56,67,80,93,102,117,124],"field":[42,64,131],"study":[43,65],"erroneous":[45],"programs":[47],"written":[48],"by":[49,129],"programmers":[50],"who":[51],"are":[52],"trained":[53],"use":[55],"general":[57],"interface.":[60],"We":[61],"performed":[62],"in":[66],"training":[68],"workshop":[69],"30":[71],"participants.":[72],"Our":[73],"observations":[74],"and":[75,123],"derived":[76],"best":[77],"practices":[78],"offer":[79],"reference":[81],"for":[82],"future":[83],"techniques":[86,99],"design.":[87],"Toward":[88],"that":[89,106],"end,":[90],"we":[91],"propose":[92],"taxonomy":[94],"latest":[96],"and,":[100],"accordingly,":[101],"set":[103],"paradigms":[105,115],"reduce":[108],"risk":[110],"NVMM-specific":[112],"bugs.":[113],"The":[114],"incorporate":[116],"minimal":[118],"library":[120],"interface":[121],"design":[122,126],"new":[125],"pattern":[127],"inspired":[128],"study.":[132]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":7}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
