{"id":"https://openalex.org/W4297101963","doi":"https://doi.org/10.1145/3561320.3561325","title":"Exploring Opacity Software Transactional Memory in Haskell through Graph Transformation","display_name":"Exploring Opacity Software Transactional Memory in Haskell through Graph Transformation","publication_year":2022,"publication_date":"2022-09-26","ids":{"openalex":"https://openalex.org/W4297101963","doi":"https://doi.org/10.1145/3561320.3561325"},"language":"en","primary_location":{"id":"doi:10.1145/3561320.3561325","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3561320.3561325","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVI Brazilian Symposium on Programming Languages","raw_type":"proceedings-article"},"type":"article","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/A5057776465","display_name":"Diogo J. Cardoso","orcid":"https://orcid.org/0000-0003-2395-3501"},"institutions":[{"id":"https://openalex.org/I169248161","display_name":"Universidade Federal de Pelotas","ror":"https://ror.org/05msy9z54","country_code":"BR","type":"education","lineage":["https://openalex.org/I169248161"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Diogo J. Cardoso","raw_affiliation_strings":["CDTec, Universidade Federal de Pelotas, Brazil"],"affiliations":[{"raw_affiliation_string":"CDTec, Universidade Federal de Pelotas, Brazil","institution_ids":["https://openalex.org/I169248161"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5086758955","display_name":"Luciana Foss","orcid":"https://orcid.org/0000-0002-0473-4111"},"institutions":[{"id":"https://openalex.org/I169248161","display_name":"Universidade Federal de Pelotas","ror":"https://ror.org/05msy9z54","country_code":"BR","type":"education","lineage":["https://openalex.org/I169248161"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Luciana Foss","raw_affiliation_strings":["CDTec, Universidade Federal de Pelotas, Brazil"],"affiliations":[{"raw_affiliation_string":"CDTec, Universidade Federal de Pelotas, Brazil","institution_ids":["https://openalex.org/I169248161"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5039149327","display_name":"Andr\u00e9 Rauber Du Bois","orcid":"https://orcid.org/0000-0002-6790-5184"},"institutions":[{"id":"https://openalex.org/I169248161","display_name":"Universidade Federal de Pelotas","ror":"https://ror.org/05msy9z54","country_code":"BR","type":"education","lineage":["https://openalex.org/I169248161"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Andre R. Du Bois","raw_affiliation_strings":["CDTec, Universidade Federal de Pelotas, Brazil"],"affiliations":[{"raw_affiliation_string":"CDTec, Universidade Federal de Pelotas, Brazil","institution_ids":["https://openalex.org/I169248161"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5057776465"],"corresponding_institution_ids":["https://openalex.org/I169248161"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.1165398,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"15","last_page":"23"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9897000193595886,"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/T13471","display_name":"Cognitive Functions and Memory","score":0.9853000044822693,"subfield":{"id":"https://openalex.org/subfields/3205","display_name":"Experimental and Cognitive Psychology"},"field":{"id":"https://openalex.org/fields/32","display_name":"Psychology"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.9472700357437134},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7697644233703613},{"id":"https://openalex.org/keywords/transactional-memory","display_name":"Transactional memory","score":0.5947730541229248},{"id":"https://openalex.org/keywords/opacity","display_name":"Opacity","score":0.5642410516738892},{"id":"https://openalex.org/keywords/software-transactional-memory","display_name":"Software transactional memory","score":0.5634241700172424},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5578161478042603},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.46899890899658203},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4401721954345703},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3759691119194031},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3201534152030945},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.23992520570755005},{"id":"https://openalex.org/keywords/database-transaction","display_name":"Database transaction","score":0.07978382706642151}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9472700357437134},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7697644233703613},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.5947730541229248},{"id":"https://openalex.org/C60056205","wikidata":"https://www.wikidata.org/wiki/Q691914","display_name":"Opacity","level":2,"score":0.5642410516738892},{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.5634241700172424},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5578161478042603},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.46899890899658203},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4401721954345703},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3759691119194031},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3201534152030945},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.23992520570755005},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.07978382706642151},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"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/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3561320.3561325","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3561320.3561325","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVI Brazilian Symposium on Programming Languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W105746118","https://openalex.org/W1542975293","https://openalex.org/W1750765779","https://openalex.org/W1829867068","https://openalex.org/W2004306067","https://openalex.org/W2018464987","https://openalex.org/W2022984109","https://openalex.org/W2023304911","https://openalex.org/W2043078265","https://openalex.org/W2043255549","https://openalex.org/W2048355938","https://openalex.org/W2104998653","https://openalex.org/W2113751407","https://openalex.org/W2117189826","https://openalex.org/W2128585185","https://openalex.org/W2129990308","https://openalex.org/W2157901438","https://openalex.org/W2235305397","https://openalex.org/W2442252798","https://openalex.org/W2542400470","https://openalex.org/W2768327291","https://openalex.org/W2769656678","https://openalex.org/W2955516410","https://openalex.org/W2962850555","https://openalex.org/W2972200210","https://openalex.org/W3202293396","https://openalex.org/W4226162341","https://openalex.org/W4233820653","https://openalex.org/W4235540840","https://openalex.org/W4236919400"],"related_works":["https://openalex.org/W2088444093","https://openalex.org/W133473147","https://openalex.org/W4252722439","https://openalex.org/W924353067","https://openalex.org/W2152491655","https://openalex.org/W2992926879","https://openalex.org/W1144911151","https://openalex.org/W2076409732","https://openalex.org/W120707803","https://openalex.org/W2104221844"],"abstract_inverted_index":{"Software":[0],"Transactional":[1],"Memory":[2],"(STM)":[3],"is":[4],"considered":[5],"an":[6],"alternative":[7],"abstraction":[8],"for":[9,62,128],"concurrent":[10,40],"programming,":[11],"it":[12,124,143],"has":[13],"shown":[14],"to":[15,21,98,125,132],"be":[16,78],"more":[17],"approachable":[18],"when":[19],"compared":[20],"it\u2019s":[22,109],"main":[23],"counterpart,":[24],"lock-based":[25],"synchronization.":[26],"Haskell":[27,36,65,81,89],"included":[28],"language":[29],"support":[30],"very":[31],"early":[32],"through":[33],"the":[34,56,63,86,100,103,115,119,129,135,145,148],"STM":[35,64,84,88,105],"library,":[37],"that":[38,47],"allows":[39],"lock-free":[41],"programming":[42],"using":[43,67,82,114],"composable":[44],"atomic":[45],"actions":[46],"manipulate":[48],"transactional":[49],"variables.":[50],"In":[51],"this":[52],"work,":[53],"we":[54,107],"explore":[55],"correctness":[57,146],"criterion":[58],"Opacity":[59,76],"and":[60,141],"CO-Opacity":[61],"algorithm":[66],"a":[68,96,126],"Graph":[69],"Transformation":[70],"System":[71],"(GTS)":[72],"approach.":[73],"Even":[74],"though":[75],"can":[77],"demonstrated":[79],"in":[80,138],"other":[83],"algorithms,":[85],"original":[87,104],"library":[90],"does":[91],"not":[92],"satisfy":[93],"it.":[94],"Using":[95],"GTS":[97,127],"represent":[99],"execution":[101],"of":[102,118,147],"Haskell,":[106],"demonstrate":[108],"correctness,":[110],"or":[111],"lack":[112],"thereof,":[113],"graph":[116],"characterization":[117],"criterion.":[120],"We":[121],"also":[122],"compare":[123],"TL2":[130],"algorithm,":[131],"observe":[133],"how":[134,142],"algorithms":[136],"differ":[137],"decision":[139],"making,":[140],"affects":[144],"execution.":[149]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
