{"id":"https://openalex.org/W2541904841","doi":"https://doi.org/10.4230/lipics.ecoop.2016.8","title":"C++ const and Immutability: An Empirical Study of Writes-Through-const","display_name":"C++ const and Immutability: An Empirical Study of Writes-Through-const","publication_year":2016,"publication_date":"2016-01-01","ids":{"openalex":"https://openalex.org/W2541904841","doi":"https://doi.org/10.4230/lipics.ecoop.2016.8","mag":"2541904841"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://drops.dagstuhl.de/opus/volltexte/2016/6102/pdf/LIPIcs-ECOOP-2016-8.pdf/","pdf_url":null,"source":{"id":"https://openalex.org/S4306418338","display_name":"European Conference on Object-Oriented Programming","issn_l":null,"issn":null,"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":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-article","indexed_in":[],"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/A5085545577","display_name":"Jon Eyolfson","orcid":null},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Jon Eyolfson","raw_affiliation_strings":["University of Waterloo, Waterloo, Canada"],"affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5016375266","display_name":"Patrick Lam","orcid":"https://orcid.org/0000-0001-8278-5400"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Patrick Lam","raw_affiliation_strings":["University of Waterloo, Waterloo, Canada"],"affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.423,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.439644,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":73,"max":77},"biblio":{"volume":null,"issue":null,"first_page":"25","last_page":null},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9992,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10260","display_name":"Software Engineering Research","score":0.9992,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.9917,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9893,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/immutability","display_name":"Immutability","score":0.9978323},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.46964306},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4363999}],"concepts":[{"id":"https://openalex.org/C2776126399","wikidata":"https://www.wikidata.org/wiki/Q3942906","display_name":"Immutability","level":3,"score":0.9978323},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7426735},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.48124194},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.46964306},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4363999},{"id":"https://openalex.org/C2780876879","wikidata":"https://www.wikidata.org/wiki/Q3054749","display_name":"Meaning (existential)","level":2,"score":0.43077818},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4301291},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.42667758},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.16163349},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.1263727},{"id":"https://openalex.org/C2779687700","wikidata":"https://www.wikidata.org/wiki/Q20514253","display_name":"Blockchain","level":2,"score":0.122476846},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.11074379},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://drops.dagstuhl.de/opus/volltexte/2016/6102/pdf/LIPIcs-ECOOP-2016-8.pdf/","pdf_url":null,"source":{"id":"https://openalex.org/S4306418338","display_name":"European Conference on Object-Oriented Programming","issn_l":null,"issn":null,"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":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W3027347088","https://openalex.org/W2953116807","https://openalex.org/W2901956653","https://openalex.org/W2900040591","https://openalex.org/W2810000838","https://openalex.org/W2710101852","https://openalex.org/W2290584784","https://openalex.org/W2184248422","https://openalex.org/W2166853865","https://openalex.org/W2115538672","https://openalex.org/W2041950498","https://openalex.org/W2030159266","https://openalex.org/W2029165398","https://openalex.org/W2024951218","https://openalex.org/W202324359","https://openalex.org/W2016408482","https://openalex.org/W2000659103","https://openalex.org/W1989866935","https://openalex.org/W160660214","https://openalex.org/W1497580209"],"abstract_inverted_index":{"The":[0,32],"ability":[1],"to":[2,16,28,91,97,114,124,165,174],"specify":[3],"immutability":[4,42,71],"in":[5,75,149,172],"a":[6,39,67,107,178],"programming":[7,34],"language":[8,35,181],"is":[9],"a\r\npowerful":[10],"tool":[11],"for":[12,120,147],"developers,":[13],"enabling":[14],"them":[15],"better":[17],"understand":[18],"and\r\nmore":[19],"safely":[20],"transform":[21],"their":[22],"code":[23],"without":[24],"fearing":[25],"unintended":[26],"changes":[27],"program":[29],"state.":[30],"C++":[33,56,111,180],"allows":[36],"developers":[37],"to\r\nspecify":[38],"form":[40,69],"of":[41,54,70,109,129,157,161,170,177],"using":[43],"the":[44,52,55,61,175],"const":[45,57,79],"keyword.":[46],"In":[47],"this":[48],"work,":[49],"we":[50],"characterize":[51],"meaning":[53],"qualifier":[58],"and":[59,131,142,168],"present":[60],"ConstSanitizer":[62,144],"tool,":[63],"which":[64,152],"dynamically":[65],"verifies":[66],"stricter":[68,127],"than":[72],"that":[73,81,89,95],"defined":[74],"C++:":[76],"it":[77],"identifies":[78],"uses":[80],"are":[82],"either":[83],"not":[84,138,154],"consistent":[85],"with":[86],"transitive":[87],"immutability,":[88,130],"write":[90,96,135],"mutable":[92],"fields,":[93],"or":[94],"formerly-const":[98],"objects":[99],"whose":[100],"const-ness":[101],"has":[102],"been":[103],"cast":[104],"away.\r\n\r\nWe":[105],"evaluate":[106],"set":[108],"7":[110],"benchmark":[112],"programs":[113,151],"find":[115],"writes-through-const,":[116],"establish":[117],"root":[118],"causes":[119],"how":[121],"they":[122],"fail":[123],"respect":[125,155],"our":[126],"definition":[128],"assign":[132],"attributes\r\nto":[133],"each":[134],"(namely:":[136],"synchronized,":[137],"visible,":[139],"buffer/cache,\r\ndelayed":[140],"initialization,":[141],"incorrect).":[143],"finds":[145],"17\r\narchetypes":[146],"writes":[148],"these":[150,162],"do":[153],"our\r\nversion":[156],"immutability.":[158],"Over":[159],"half":[160],"seem":[163],"unnecessary":[164],"us.\r\nOur":[166],"classification":[167],"observations":[169],"behaviour":[171],"practice\r\ncontribute":[173],"understanding":[176],"widely-used":[179],"feature.":[182]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2541904841","counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2017,"cited_by_count":1}],"updated_date":"2024-12-07T16:47:21.732108","created_date":"2016-11-04"}