{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,21]],"date-time":"2026-10-21T00:03:10Z","timestamp":1792540990793,"version":"4.5.0"},"reference-count":90,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2022,2,16]],"date-time":"2022-02-16T00:00:00Z","timestamp":1644969600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"National Science Foundation","award":["CCF-1629657 and OAC-1740333"],"award-info":[{"award-number":["CCF-1629657 and OAC-1740333"]}]},{"name":"DARPA XDATA, HIVE and SDH"},{"name":"NVIDIA AI Laboratory"},{"DOI":"10.13039\/100006602","name":"Air Force Research Lab","doi-asserted-by":"crossref","award":["FA8650-18-2-7836"],"award-info":[{"award-number":["FA8650-18-2-7836"]}],"id":[{"id":"10.13039\/100006602","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100006754","name":"Army Research Lab","doi-asserted-by":"crossref","award":["W911QX-12-C-0059"],"award-info":[{"award-number":["W911QX-12-C-0059"]}],"id":[{"id":"10.13039\/100006754","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100000185","name":"Defense Advanced Research Projects Agency","doi-asserted-by":"crossref","award":["HR0011-18-3-0007"],"award-info":[{"award-number":["HR0011-18-3-0007"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Applied Mathematics program of the DOE Office of Advanced Scientific Computing Research","award":["DE-AC02-05CH11231"],"award-info":[{"award-number":["DE-AC02-05CH11231"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2022,3,31]]},"abstract":"<jats:p>\n            High-performance implementations of graph algorithms are challenging to implement on new parallel hardware such as GPUs because of three challenges: (1)\u00a0the difficulty of coming up with graph building blocks, (2)\u00a0load imbalance on parallel hardware, and (3)\u00a0graph problems having low arithmetic intensity. To address some of these challenges, GraphBLAS is an innovative, on-going effort by the graph analytics community to propose building blocks based on sparse linear algebra, which allow graph algorithms to be expressed in a performant, succinct, composable, and portable manner. In this paper, we examine the performance challenges of a linear-algebra-based approach to building graph frameworks and describe new design principles for overcoming these bottlenecks. Among the new design principles is\n            <jats:italic>exploiting input sparsity<\/jats:italic>\n            , which allows users to write graph algorithms without specifying push and pull direction.\n            <jats:italic>Exploiting output sparsity<\/jats:italic>\n            allows users to tell the backend which values of the output in a single vectorized computation they do not want computed.\n            <jats:italic>Load-balancing<\/jats:italic>\n            is an important feature for balancing work amongst parallel workers. We describe the important load-balancing features for handling graphs with different characteristics. The design principles described in this paper have been implemented in \u201cGraphBLAST\u201d, the first high-performance linear algebra-based graph framework on NVIDIA GPUs that is open-source. The results show that on a single GPU, GraphBLAST has on average at least an order of magnitude speedup over previous GraphBLAS implementations SuiteSparse and GBTL, comparable performance to the fastest GPU hardwired primitives and shared-memory graph frameworks Ligra and Gunrock, and better performance than any other GPU graph framework, while offering a simpler and more concise programming model.\n          <\/jats:p>","DOI":"10.1145\/3466795","type":"journal-article","created":{"date-parts":[[2022,2,16]],"date-time":"2022-02-16T14:50:38Z","timestamp":1645023038000},"page":"1-51","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":76,"title":["GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPU"],"prefix":"10.1145","volume":"48","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4357-0906","authenticated-orcid":false,"given":"Carl","family":"Yang","sequence":"first","affiliation":[{"name":"University of California, Davis and Lawrence Berkeley National Laboratory, Davis, California"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7253-9038","authenticated-orcid":false,"given":"Ayd\u0131n","family":"Bulu\u00e7","sequence":"additional","affiliation":[{"name":"Lawrence Berkeley National Laboratory and University of California, Berkeley, California"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6582-8237","authenticated-orcid":false,"given":"John D.","family":"Owens","sequence":"additional","affiliation":[{"name":"University of California, Davis, California"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,2,16]]},"reference":[{"key":"e_1_3_3_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15369-3_31"},{"key":"e_1_3_3_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2015.75"},{"key":"e_1_3_3_4_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10586-015-0472-6"},{"key":"e_1_3_3_5_2","article-title":"Modern GPU Library","author":"Baxter Sean","year":"2016","unstructured":"Sean Baxter. 2016. Modern GPU Library. https:\/\/moderngpu.github.io\/. (2016).","journal-title":"https:\/\/moderngpu.github.io\/"},{"key":"e_1_3_3_6_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF00288683"},{"key":"e_1_3_3_7_2","volume-title":"Understanding and Improving Graph Algorithm Performance","author":"Beamer Scott","year":"2016","unstructured":"Scott Beamer. 2016. Understanding and Improving Graph Algorithm Performance. Ph.D. Dissertation. University of California, Berkeley."},{"key":"e_1_3_3_8_2","doi-asserted-by":"publisher","DOI":"10.5555\/2388996.2389013"},{"key":"e_1_3_3_9_2","first-page":"820","volume-title":"IEEE International Parallel and Distributed Processing Symposium (IPDPS)","author":"Beamer Scott","year":"2017","unstructured":"Scott Beamer, Krste Asanovi\u0107, and David Patterson. 2017. Reducing PageRank communication via propagation blocking. In IEEE International Parallel and Distributed Processing Symposium (IPDPS). 820\u2013831. DOI:https:\/\/doi.org\/10.1109\/ipdps.2017.112"},{"key":"e_1_3_3_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/1654059.1654078"},{"key":"e_1_3_3_11_2","doi-asserted-by":"publisher","DOI":"10.1016\/B978-0-12-385963-1.00026-5"},{"key":"e_1_3_3_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/3078597.3078616"},{"key":"e_1_3_3_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2017.2735405"},{"key":"e_1_3_3_14_2","volume-title":"Prefix Sums and Their Applications","author":"Blelloch Guy E.","year":"1990","unstructured":"Guy E. Blelloch. 1990. Prefix Sums and Their Applications. Technical Report CMU-CS-90-190. School of Computer Science, Carnegie Mellon University. http:\/\/www.cs.cmu.edu\/scandal\/papers\/CMU-CS-90-190.html."},{"key":"e_1_3_3_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW50202.2020.00049"},{"key":"e_1_3_3_16_2","doi-asserted-by":"publisher","DOI":"10.1177\/1094342011403516"},{"key":"e_1_3_3_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063471"},{"key":"e_1_3_3_18_2","volume-title":"The GraphBLAS C API Specification","author":"Buluc Ayd\u0131n","year":"2017","unstructured":"Ayd\u0131n Buluc, Timothy Mattson, Scott McMillan, Jose Moreira, and Carl Yang. 2017. The GraphBLAS C API Specification. Rev. 1.1. http:\/\/graphblas.org\/index.php\/C_language_API."},{"key":"e_1_3_3_19_2","volume-title":"IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","author":"Bulu\u00e7 Ayd\u0131n","year":"2017","unstructured":"Ayd\u0131n Bulu\u00e7, Timothy Mattson, Scott McMillan, Jose Moreira, and Carl Yang. 2017. Design of the GraphBLAS API for C. In IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). DOI:https:\/\/doi.org\/10.1109\/ipdpsw.2017.117"},{"key":"e_1_3_3_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2018.8547541"},{"key":"e_1_3_3_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168846"},{"key":"e_1_3_3_22_2","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824077"},{"key":"e_1_3_3_23_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1009716300509"},{"key":"e_1_3_3_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2009.120"},{"key":"e_1_3_3_25_2","unstructured":"Steven Dalton Nathan Bell Luke Olson and Michael Garland. 2014. Cusp: Generic parallel algorithms for sparse matrix and graph computations. (2014). Version 0.5.0. http:\/\/cusplibrary.github.io\/."},{"key":"e_1_3_3_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/2699470"},{"key":"e_1_3_3_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2014.45"},{"key":"e_1_3_3_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/3322125"},{"key":"e_1_3_3_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/2049662.2049663"},{"key":"e_1_3_3_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/1327452.1327492"},{"key":"e_1_3_3_31_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-02094-0_7"},{"key":"e_1_3_3_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314598"},{"key":"e_1_3_3_33_2","volume-title":"A Survey of Parallel Graph Processing Frameworks","author":"Doekemeijer Niels","year":"2014","unstructured":"Niels Doekemeijer and Ana Lucia Varbanescu. 2014. A Survey of Parallel Graph Processing Frameworks. Technical Report PDS-2014-003. Delft University of Technology."},{"key":"e_1_3_3_34_2","article-title":"nvGRAPH","author":"Eaton Joe","year":"2016","unstructured":"Joe Eaton. 2016. nvGRAPH. https:\/\/docs.nvidia.com\/cuda\/nvgraph\/index.html. (2016). Accessed: 2018-01-18.","journal-title":"https:\/\/docs.nvidia.com\/cuda\/nvgraph\/index.html"},{"key":"e_1_3_3_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2012.6408680"},{"key":"e_1_3_3_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/3017994"},{"key":"e_1_3_3_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2018.8547759"},{"key":"e_1_3_3_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2621934.2621936"},{"key":"e_1_3_3_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2018.00013"},{"key":"e_1_3_3_40_2","volume-title":"Fast Parallel PageRank: a Linear System Approach","author":"Gleich D.","year":"2004","unstructured":"D. Gleich, L. Zhukov, and P. Berkhin. 2004. Fast Parallel PageRank: a Linear System Approach. Technical Report YRL-2004-038. Yahoo! Research."},{"key":"e_1_3_3_41_2","doi-asserted-by":"publisher","DOI":"10.5555\/2387880.2387883"},{"key":"e_1_3_3_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/355791.355796"},{"key":"e_1_3_3_43_2","doi-asserted-by":"publisher","DOI":"10.14778\/2732977.2732980"},{"key":"e_1_3_3_44_2","doi-asserted-by":"publisher","DOI":"10.1038\/s41586-020-2649-2"},{"key":"e_1_3_3_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2018.00017"},{"key":"e_1_3_3_46_2","first-page":"2323","volume-title":"Proceedings of the 35th International Conference on Machine Learning (Proceedings of Machine Learning Research)","volume":"80","author":"Jin Wengong","year":"2018","unstructured":"Wengong Jin, Regina Barzilay, and Tommi Jaakkola. 2018. Junction tree variational autoencoder for molecular graph generation. In Proceedings of the 35th International Conference on Machine Learning (Proceedings of Machine Learning Research), Jennifer Dy and Andreas Krause (Eds.), Vol. 80. Stockholmsm\u00e4ssan, Stockholm Sweden, 2323\u20132332. http:\/\/proceedings.mlr.press\/v80\/jin18a.html."},{"key":"e_1_3_3_47_2","article-title":"HIVE Year 1 Report: Executive Summary","author":"Johnson Ben","year":"2018","unstructured":"Ben Johnson, Weitang Liu, Agnieszka \u0141upi\u0144ska, Muhammad Osama, John D. Owens, Yuechao Pan, Leyuan Wang, Xiaoyun Wang, and Carl Yang. 2018. HIVE Year 1 Report: Executive Summary. https:\/\/gunrock.github.io\/docs\/hive_year1_summary.html. (Nov. 2018).","journal-title":"https:\/\/gunrock.github.io\/docs\/hive_year1_summary.html"},{"key":"e_1_3_3_48_2","doi-asserted-by":"publisher","DOI":"10.5555\/562474"},{"key":"e_1_3_3_49_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.laa.2003.12.008"},{"key":"e_1_3_3_50_2","doi-asserted-by":"publisher","DOI":"10.5555\/795666.796561"},{"key":"e_1_3_3_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2016.7761646"},{"key":"e_1_3_3_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/2600212.2600227"},{"key":"e_1_3_3_53_2","first-page":"497","volume-title":"Proceedings of the 7th European Conference on Pattern Languages of Programms (EuroPLoP 2002)","author":"Kircher Michael","year":"2002","unstructured":"Michael Kircher and Prashant Jain. 2002. Pooling. In Proceedings of the 7th European Conference on Pattern Languages of Programms (EuroPLoP 2002), Alan O\u2019Callaghan, Jutta Eckstein, and Christa Schwanninger (Eds.). UVK\u2014Universit\u00e4tsverlag Konstanz, 497\u2013510."},{"key":"e_1_3_3_54_2","doi-asserted-by":"publisher","DOI":"10.5555\/2387880.2387884"},{"key":"e_1_3_3_55_2","first-page":"116","article-title":"Gr\u00e1fok \u00e9s M\u00e1trixok (Graphs and matrices)","volume":"38","author":"K\u00f6nig D\u00e9nes","year":"1931","unstructured":"D\u00e9nes K\u00f6nig. 1931. Gr\u00e1fok \u00e9s M\u00e1trixok (Graphs and matrices). Matematikai \u00e9s Fizikai Lapok 38 (1931), 116\u2013119. English translation by G\u00e1bor Sz\u00e1rnyas, Sept. 2020. https:\/\/arxiv.org\/abs\/2009.03780.","journal-title":"Matematikai \u00e9s Fizikai Lapok"},{"key":"e_1_3_3_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807594"},{"key":"e_1_3_3_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807184"},{"key":"e_1_3_3_58_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2017.8091095"},{"key":"e_1_3_3_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/2818185"},{"key":"e_1_3_3_60_2","doi-asserted-by":"publisher","DOI":"10.5555\/3014904.3014982"},{"key":"e_1_3_3_61_2","doi-asserted-by":"publisher","DOI":"10.1145\/2370036.2145832"},{"key":"e_1_3_3_62_2","article-title":"IBM GraphBLAS","author":"Moreira Jose","year":"2018","unstructured":"Jose Moreira and Bill Horn. 2018. IBM GraphBLAS. http:\/\/github.com\/IBM\/ibmgraphblas.","journal-title":"http:\/\/github.com\/IBM\/ibmgraphblas"},{"key":"e_1_3_3_63_2","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522739"},{"key":"e_1_3_3_64_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2019.00046"},{"key":"e_1_3_3_65_2","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457313"},{"key":"e_1_3_3_66_2","article-title":"RAPIDS: Open GPU Data Science","author":"Patterson Josh","year":"2018","unstructured":"Josh Patterson. 2018. RAPIDS: Open GPU Data Science. https:\/\/rapids.ai\/.","journal-title":"https:\/\/rapids.ai\/"},{"key":"e_1_3_3_67_2","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2014.50"},{"key":"e_1_3_3_68_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2019.8916243"},{"key":"e_1_3_3_69_2","doi-asserted-by":"publisher","DOI":"10.5555\/2888116.2888372"},{"key":"e_1_3_3_70_2","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522740"},{"key":"e_1_3_3_71_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2018.8547527"},{"key":"e_1_3_3_72_2","first-page":"413","volume-title":"Scientific Computing with Multicore and Accelerators","author":"Sengupta Shubhabrata","year":"2011","unstructured":"Shubhabrata Sengupta, Mark Harris, Michael Garland, and John D. Owens. 2011. Efficient parallel scan algorithms for many-core GPUs. In Scientific Computing with Multicore and Accelerators, Jakub Kurzak, David A. Bader, and Jack Dongarra (Eds.). Taylor & Francis, Chapter 19, 413\u2013442. DOI:https:\/\/doi.org\/10.1201\/b10376-29"},{"key":"e_1_3_3_73_2","doi-asserted-by":"publisher","DOI":"10.5555\/1280094.1280110"},{"key":"e_1_3_3_74_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDM.2011.23"},{"key":"e_1_3_3_75_2","doi-asserted-by":"publisher","DOI":"10.1145\/3128571"},{"key":"e_1_3_3_76_2","doi-asserted-by":"publisher","DOI":"10.1016\/0196-6774(82)90008-6"},{"key":"e_1_3_3_77_2","doi-asserted-by":"publisher","DOI":"10.1145\/2517327.2442530"},{"key":"e_1_3_3_78_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2015.7113280"},{"key":"e_1_3_3_79_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2014.64"},{"key":"e_1_3_3_80_2","volume-title":"2010 IEEE International Symposium on Parallel and Distributed Processing, Workshops and Phd Forum (IPDPSW)","author":"Soman Jyothish","year":"2010","unstructured":"Jyothish Soman, Kothapalli Kishore, and P. J. Narayanan. 2010. A fast GPU algorithm for graph connectivity. In 2010 IEEE International Symposium on Parallel and Distributed Processing, Workshops and Phd Forum (IPDPSW). IEEE. DOI:https:\/\/doi.org\/10.1109\/ipdpsw.2010.5470817"},{"key":"e_1_3_3_81_2","doi-asserted-by":"publisher","DOI":"10.14778\/2809974.2809983"},{"key":"e_1_3_3_82_2","doi-asserted-by":"publisher","DOI":"10.1145\/2915516.2915521"},{"key":"e_1_3_3_83_2","doi-asserted-by":"publisher","DOI":"10.1145\/3108140"},{"key":"e_1_3_3_84_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2017.8091043"},{"key":"e_1_3_3_85_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-96983-1_48"},{"key":"e_1_3_3_86_2","doi-asserted-by":"publisher","DOI":"10.1145\/3225058.3225122"},{"key":"e_1_3_3_87_2","first-page":"841","volume-title":"Graph Algorithms Building Blocks (GABB 2015)","author":"Yang Carl","year":"2015","unstructured":"Carl Yang, Yangzihao Wang, and John D. Owens. 2015. Fast sparse matrix and sparse vector multiplication algorithm on the GPU. In Graph Algorithms Building Blocks (GABB 2015). 841\u2013847. DOI:https:\/\/doi.org\/10.1109\/IPDPSW.2015.77"},{"key":"e_1_3_3_88_2","volume-title":"Proceedings of the International Conference on Parallel Processing, Poster Session (ICPP 2019)","author":"Zhang Lingqi","year":"2019","unstructured":"Lingqi Zhang, Mohamed Wahib, and Satoshi Matsuoka. 2019. Understanding the overheads of launching CUDA kernels. In Proceedings of the International Conference on Parallel Processing, Poster Session (ICPP 2019)."},{"key":"e_1_3_3_89_2","doi-asserted-by":"crossref","first-page":"912","DOI":"10.1109\/IPDPSW.2016.185","volume-title":"IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","author":"Zhang Peter","year":"2016","unstructured":"Peter Zhang, Marcin Zalewski, Andrew Lumsdaine, Samantha Misurda, and Scott McMillan. 2016. GBTL-CUDA: Graph algorithms and primitives for GPUs. In IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, 912\u2013920. DOI:https:\/\/doi.org\/10.1109\/ipdpsw.2016.185"},{"key":"e_1_3_3_90_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2020.04.009"},{"key":"e_1_3_3_91_2","doi-asserted-by":"publisher","DOI":"10.1137\/1.9781611976137.5"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3466795","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3466795","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:28:09Z","timestamp":1750195689000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3466795"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,2,16]]},"references-count":90,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,3,31]]}},"alternative-id":["10.1145\/3466795"],"URL":"https:\/\/doi.org\/10.1145\/3466795","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,2,16]]},"assertion":[{"value":"2019-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-02-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}