{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:46:09Z","timestamp":1773193569163,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":85,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,6,9]],"date-time":"2022-06-09T00:00:00Z","timestamp":1654732800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2022,6,9]]},"DOI":"10.1145\/3519939.3523720","type":"proceedings-article","created":{"date-parts":[[2022,6,2]],"date-time":"2022-06-02T21:05:05Z","timestamp":1654203905000},"page":"474-489","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":28,"title":["A study of real-world data races in Golang"],"prefix":"10.1145","author":[{"given":"Milind","family":"Chabbi","sequence":"first","affiliation":[{"name":"Uber Technologies, USA"}]},{"given":"Murali Krishna","family":"Ramanathan","sequence":"additional","affiliation":[{"name":"Uber Technologies, USA"}]}],"member":"320","published-online":{"date-parts":[[2022,6,9]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2015. The Java Language Specification (Java SE 8 Edition). https:\/\/docs.oracle.com\/javase\/specs\/jls\/se8\/jls8.pdf  2015. The Java Language Specification (Java SE 8 Edition). https:\/\/docs.oracle.com\/javase\/specs\/jls\/se8\/jls8.pdf"},{"key":"e_1_3_2_1_2_1","unstructured":"2018. Java CountDownLatch. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/concurrent\/CountDownLatch.html  2018. Java CountDownLatch. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/concurrent\/CountDownLatch.html"},{"key":"e_1_3_2_1_3_1","unstructured":"2018. Pthread Barrier. https:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/functions\/pthread_barrier_destroy.html  2018. Pthread Barrier. https:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/functions\/pthread_barrier_destroy.html"},{"key":"e_1_3_2_1_4_1","unstructured":"2020. Java CyclicBarrier. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/concurrent\/CyclicBarrier.html  2020. Java CyclicBarrier. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/concurrent\/CyclicBarrier.html"},{"key":"e_1_3_2_1_5_1","unstructured":"2021. Free variables and bound variables. https:\/\/en.wikipedia.org\/wiki\/Free_variables_and_bound_variables  2021. Free variables and bound variables. https:\/\/en.wikipedia.org\/wiki\/Free_variables_and_bound_variables"},{"key":"e_1_3_2_1_6_1","unstructured":"2022. std::barrier. https:\/\/en.cppreference.com\/w\/cpp\/thread\/barrier  2022. std::barrier. https:\/\/en.cppreference.com\/w\/cpp\/thread\/barrier"},{"key":"e_1_3_2_1_7_1","unstructured":"\u223c 2014. Effective Go: Maps. https:\/\/go.dev\/doc\/effective_go##maps  \u223c 2014. Effective Go: Maps. https:\/\/go.dev\/doc\/effective_go##maps"},{"key":"e_1_3_2_1_8_1","unstructured":"\u223c 2014. Effective Go: Named result parameters. https:\/\/golang.org\/doc\/effective_go#named-results  \u223c 2014. Effective Go: Named result parameters. https:\/\/golang.org\/doc\/effective_go#named-results"},{"key":"e_1_3_2_1_9_1","unstructured":"\u223c 2014. Effective Go: Slices. https:\/\/go.dev\/doc\/effective_go##slices  \u223c 2014. Effective Go: Slices. https:\/\/go.dev\/doc\/effective_go##slices"},{"key":"e_1_3_2_1_10_1","unstructured":"\u223c 2014. Go Data Race Detector. https:\/\/golang.org\/doc\/articles\/race_detector  \u223c 2014. Go Data Race Detector. https:\/\/golang.org\/doc\/articles\/race_detector"},{"key":"e_1_3_2_1_11_1","unstructured":"\u223c 2019. The OpenMP API specification for parallel programmingc. https:\/\/www.openmp.org\/  \u223c 2019. The OpenMP API specification for parallel programmingc. https:\/\/www.openmp.org\/"},{"key":"e_1_3_2_1_12_1","unstructured":"\u223c 2022. C++ Reference: Lambda expressions. https:\/\/en.cppreference.com\/w\/cpp\/language\/lambda  \u223c 2022. C++ Reference: Lambda expressions. https:\/\/en.cppreference.com\/w\/cpp\/language\/lambda"},{"key":"e_1_3_2_1_13_1","unstructured":"\u223c 2022. Effective Go: Channel. https:\/\/golang.org\/doc\/effective_go#chan_of_chan  \u223c 2022. Effective Go: Channel. https:\/\/golang.org\/doc\/effective_go#chan_of_chan"},{"key":"e_1_3_2_1_14_1","unstructured":"\u223c 2022. Effective Go: Defer. https:\/\/golang.org\/doc\/effective_go#defer  \u223c 2022. Effective Go: Defer. https:\/\/golang.org\/doc\/effective_go#defer"},{"key":"e_1_3_2_1_15_1","unstructured":"\u223c 2022. Effective Go: Goroutine. https:\/\/golang.org\/doc\/effective_go#goroutines  \u223c 2022. Effective Go: Goroutine. https:\/\/golang.org\/doc\/effective_go#goroutines"},{"key":"e_1_3_2_1_16_1","unstructured":"\u223c 2022. Effective Go: Pointer vs. Value. https:\/\/go.dev\/doc\/effective_go##pointers_vs_values  \u223c 2022. Effective Go: Pointer vs. Value. https:\/\/go.dev\/doc\/effective_go##pointers_vs_values"},{"key":"e_1_3_2_1_17_1","unstructured":"\u223c 2022. Go Common Mistakes. https:\/\/github.com\/golang\/go\/wiki\/CommonMistakes  \u223c 2022. Go Common Mistakes. https:\/\/github.com\/golang\/go\/wiki\/CommonMistakes"},{"key":"e_1_3_2_1_18_1","unstructured":"\u223c 2022. Go Context Package. https:\/\/pkg.go.dev\/context  \u223c 2022. Go Context Package. https:\/\/pkg.go.dev\/context"},{"key":"e_1_3_2_1_19_1","unstructured":"\u223c 2022. GoDocs: Multiple return values in GoLang functions. https:\/\/golangdocs.com\/multiple-return-values-in-golang-functions  \u223c 2022. GoDocs: Multiple return values in GoLang functions. https:\/\/golangdocs.com\/multiple-return-values-in-golang-functions"},{"key":"e_1_3_2_1_20_1","unstructured":"\u223c 2022. Golang Suite. https:\/\/pkg.go.dev\/github.com\/stretchr\/testify\/suite  \u223c 2022. Golang Suite. https:\/\/pkg.go.dev\/github.com\/stretchr\/testify\/suite"},{"key":"e_1_3_2_1_21_1","unstructured":"\u223c 2022. Golang Sync Atomic. https:\/\/pkg.go.dev\/sync\/atomic  \u223c 2022. Golang Sync Atomic. https:\/\/pkg.go.dev\/sync\/atomic"},{"key":"e_1_3_2_1_22_1","unstructured":"\u223c 2022. Java Futures. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/concurrent\/Future.html  \u223c 2022. Java Futures. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/concurrent\/Future.html"},{"key":"e_1_3_2_1_23_1","unstructured":"\u223c 2022. The Java Tutorial: Lambda Expressions. https:\/\/docs.oracle.com\/javase\/tutorial\/java\/javaOO\/lambdaexpressions.html  \u223c 2022. The Java Tutorial: Lambda Expressions. https:\/\/docs.oracle.com\/javase\/tutorial\/java\/javaOO\/lambdaexpressions.html"},{"key":"e_1_3_2_1_24_1","unstructured":"\u223c 2022. Welcome to a tour of Go. https:\/\/go.dev\/tour\/list  \u223c 2022. Welcome to a tour of Go. https:\/\/go.dev\/tour\/list"},{"key":"e_1_3_2_1_25_1","unstructured":"Eli Bendersky. 2019. Go internals: capturing loop variables in closures. https:\/\/eli.thegreenplace.net\/2019\/go-internals-capturing-loop-variables-in-closures\/  Eli Bendersky. 2019. Go internals: capturing loop variables in closures. https:\/\/eli.thegreenplace.net\/2019\/go-internals-capturing-loop-variables-in-closures\/"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062364"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814292"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276514"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/2001252.2001255"},{"key":"e_1_3_2_1_30_1","volume-title":"Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI \u201908)","author":"J.","unstructured":"Hans- J. Boehm and Sarita V. Adve. 2008. Foundations of the C++ Concurrency Memory Model . In Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI \u201908) . Association for Computing Machinery, New York, NY, USA. 68\u201378. isbn:9781595938602 Hans-J. Boehm and Sarita V. Adve. 2008. Foundations of the C++ Concurrency Memory Model. In Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI \u201908). Association for Computing Machinery, New York, NY, USA. 68\u201378. isbn:9781595938602"},{"key":"e_1_3_2_1_31_1","volume-title":"X10: An Object-Oriented Approach to Non-Uniform Cluster Computing. OOPSLA \u201905","author":"Charles Philippe","unstructured":"Philippe Charles , Christian Grothoff , Vijay Saraswat , Christopher Donawa , Allan Kielstra , Kemal Ebcioglu , Christoph von Praun , and Vivek Sarkar . 2005. X10: An Object-Oriented Approach to Non-Uniform Cluster Computing. OOPSLA \u201905 . Association for Computing Machinery , New York, NY, USA . 519\u2013538. isbn:1595930310 Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar. 2005. X10: An Object-Oriented Approach to Non-Uniform Cluster Computing. OOPSLA \u201905. Association for Computing Machinery, New York, NY, USA. 519\u2013538. isbn:1595930310"},{"key":"e_1_3_2_1_32_1","unstructured":"Dave Cheney. 2017. Why Go? https:\/\/dave.cheney.net\/2017\/03\/20\/why-go  Dave Cheney. 2017. Why Go? https:\/\/dave.cheney.net\/2017\/03\/20\/why-go"},{"key":"e_1_3_2_1_33_1","unstructured":"Dave Cheney. 2019. Prefer table driven tests. https:\/\/dave.cheney.net\/2019\/05\/07\/prefer-table-driven-tests  Dave Cheney. 2019. Prefer table driven tests. https:\/\/dave.cheney.net\/2019\/05\/07\/prefer-table-driven-tests"},{"key":"e_1_3_2_1_34_1","unstructured":"Russ Cox. 2016. Go\u2019s Memory Model. http:\/\/nil.csail.mit.edu\/6.824\/2016\/notes\/gomem.pdf  Russ Cox. 2016. Go\u2019s Memory Model. http:\/\/nil.csail.mit.edu\/6.824\/2016\/notes\/gomem.pdf"},{"key":"e_1_3_2_1_35_1","unstructured":"Go developers. 2014. The Go Memory Model. https:\/\/go.dev\/ref\/mem  Go developers. 2014. The Go Memory Model. https:\/\/go.dev\/ref\/mem"},{"key":"e_1_3_2_1_36_1","unstructured":"Go developers. \u223c 2022. Data Race Detector. https:\/\/go.dev\/doc\/articles\/race_detector  Go developers. \u223c 2022. Data Race Detector. https:\/\/go.dev\/doc\/articles\/race_detector"},{"key":"e_1_3_2_1_37_1","volume-title":"Golang sync","author":"Go","unstructured":"Go developers. \u223c 2022. Golang sync . WaitGroup . https:\/\/pkg.go.dev\/sync#WaitGroup Go developers. \u223c 2022. Golang sync.WaitGroup. https:\/\/pkg.go.dev\/sync#WaitGroup"},{"key":"e_1_3_2_1_38_1","unstructured":"Rust developers. \u223c 2022. Rust. https:\/\/www.rust-lang.org\/  Rust developers. \u223c 2022. Rust. https:\/\/www.rust-lang.org\/"},{"key":"e_1_3_2_1_39_1","volume-title":"Proceedings of the Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP \u201990)","author":"Dinning A.","unstructured":"A. Dinning and E. Schonberg . 1990. An Empirical Comparison of Monitoring Algorithms for Access Anomaly Detection . In Proceedings of the Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP \u201990) . Association for Computing Machinery, New York, NY, USA. 1\u201310. isbn:0897913507 A. Dinning and E. Schonberg. 1990. An Empirical Comparison of Monitoring Algorithms for Access Anomaly Detection. In Proceedings of the Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP \u201990). Association for Computing Machinery, New York, NY, USA. 1\u201310. isbn:0897913507"},{"key":"e_1_3_2_1_40_1","unstructured":"Erik Engheim. 2021. Go Does Not Need a Java Style GC. https:\/\/itnext.io\/go-does-not-need-a-java-style-gc-ac99b8d26c60  Erik Engheim. 2021. Go Does Not Need a Java Style GC. https:\/\/itnext.io\/go-does-not-need-a-java-style-gc-ac99b8d26c60"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945468"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.21236\/ADA419626"},{"key":"e_1_3_2_1_43_1","volume-title":"Proceedings of the Ninth Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA \u201997)","author":"Feng Mingdong","year":"1890","unstructured":"Mingdong Feng and Charles E. Leiserson . 1997. Efficient Detection of Determinacy Races in Cilk Programs . In Proceedings of the Ninth Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA \u201997) . Association for Computing Machinery, New York, NY, USA. 1\u201311. isbn:08979 1890 8 Mingdong Feng and Charles E. Leiserson. 1997. Efficient Detection of Determinacy Races in Cilk Programs. In Proceedings of the Ninth Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA \u201997). Association for Computing Machinery, New York, NY, USA. 1\u201311. isbn:0897918908"},{"key":"e_1_3_2_1_44_1","volume-title":"Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI \u201909)","author":"Flanagan Cormac","unstructured":"Cormac Flanagan and Stephen N. Freund . 2009. FastTrack: Efficient and Precise Dynamic Race Detection . In Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI \u201909) . 121\u2013133. Cormac Flanagan and Stephen N. Freund. 2009. FastTrack: Efficient and Precise Dynamic Race Detection. In Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI \u201909). 121\u2013133."},{"key":"e_1_3_2_1_45_1","volume-title":"Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI \u201998)","author":"Frigo Matteo","year":"1987","unstructured":"Matteo Frigo , Charles E. Leiserson , and Keith H. Randall . 1998. The Implementation of the Cilk-5 Multithreaded Language . In Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI \u201998) . Association for Computing Machinery, New York, NY, USA. 212\u2013223. isbn:08979 1987 4 Matteo Frigo, Charles E. Leiserson, and Keith H. Randall. 1998. The Implementation of the Cilk-5 Multithreaded Language. In Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI \u201998). Association for Computing Machinery, New York, NY, USA. 212\u2013223. isbn:0897919874"},{"key":"e_1_3_2_1_46_1","unstructured":"Mariano Gappa. 2017. Making The Move From Scala To Go And Why We\u2019re Not Going Back. https:\/\/movio.co\/blog\/migrate-Scala-to-Go\/  Mariano Gappa. 2017. Making The Move From Scala To Go And Why We\u2019re Not Going Back. https:\/\/movio.co\/blog\/migrate-Scala-to-Go\/"},{"key":"e_1_3_2_1_47_1","unstructured":"Google. 2013. Profiling Go Programs. https:\/\/blog.golang.org\/pprof  Google. 2013. Profiling Go Programs. https:\/\/blog.golang.org\/pprof"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2018.00064"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594330"},{"key":"e_1_3_2_1_50_1","unstructured":"Tim Jenkins. 2014. How to Convince Your Company to Go With Golang. https:\/\/sendgrid.com\/blog\/convince-company-go-golang\/  Tim Jenkins. 2014. How to Convince Your Company to Go With Golang. https:\/\/sendgrid.com\/blog\/convince-company-go-golang\/"},{"key":"e_1_3_2_1_51_1","volume-title":"Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21, 7","author":"Lamport Leslie","year":"1978","unstructured":"Leslie Lamport . 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21, 7 ( 1978 ), jul, 558\u2013565. issn:0001-0782 Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21, 7 (1978), jul, 558\u2013565. issn:0001-0782"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359638"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00026"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346323"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-SEIP.2019.00018"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542491"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276515"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125861"},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1390841.1390851"},{"key":"e_1_3_2_1_60_1","unstructured":"Sergio Nadir. 2017. Why I Love Golang. https:\/\/hackernoon.com\/why-i-love-golang-90085898b4f7  Sergio Nadir. 2017. Why I Love Golang. https:\/\/hackernoon.com\/why-i-love-golang-90085898b4f7"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134018"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250738"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3209108.3209109"},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254095"},{"key":"e_1_3_2_1_65_1","volume-title":"Why Google Stores Billions of Lines of Code in a Single Repository. Commun. ACM, 59, 7","author":"Potvin Rachel","year":"2016","unstructured":"Rachel Potvin and Josh Levenberg . 2016. Why Google Stores Billions of Lines of Code in a Single Repository. Commun. ACM, 59, 7 ( 2016 ), jun, 78\u201387. Rachel Potvin and Josh Levenberg. 2016. Why Google Stores Billions of Lines of Code in a Single Repository. Commun. ACM, 59, 7 (2016), jun, 78\u201387."},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/781498.781529"},{"key":"e_1_3_2_1_67_1","volume-title":"Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation. 521\u2013530","author":"Pradel Michael","unstructured":"Michael Pradel and Thomas R. Gross . 2012. Fully Automatic and Precise Detection of Thread Safety Violations . In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation. 521\u2013530 . Michael Pradel and Thomas R. Gross. 2012. Fully Automatic and Precise Detection of Thread Safety Violations. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation. 521\u2013530."},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"e_1_3_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254127"},{"key":"e_1_3_2_1_70_1","unstructured":"Chris Richardson. \u223c 2022. What are microservices? https:\/\/microservices.io\/  Chris Richardson. \u223c 2022. What are microservices? https:\/\/microservices.io\/"},{"key":"e_1_3_2_1_71_1","volume-title":"Lessons from Building Static Analysis Tools at Google. Commun. ACM, 61, 4","author":"Sadowski Caitlin","year":"2018","unstructured":"Caitlin Sadowski , Edward Aftandilian , Alex Eagle , Liam Miller-Cushon , and Ciera Jaspan . 2018. Lessons from Building Static Analysis Tools at Google. Commun. ACM, 61, 4 ( 2018 ), mar, 58\u201366. Caitlin Sadowski, Edward Aftandilian, Alex Eagle, Liam Miller-Cushon, and Ciera Jaspan. 2018. Lessons from Building Static Analysis Tools at Google. Commun. ACM, 61, 4 (2018), mar, 58\u201366."},{"key":"e_1_3_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660238"},{"key":"e_1_3_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786874"},{"key":"e_1_3_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2737998"},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984040"},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"e_1_3_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/73141.74844"},{"key":"e_1_3_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375584"},{"key":"e_1_3_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/1791194.1791203"},{"key":"e_1_3_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103702"},{"key":"e_1_3_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.5555\/2028905"},{"key":"e_1_3_2_1_82_1","unstructured":"S. Thierry. 2019. Why we switched from Python to Go. https:\/\/getstream.io\/blog\/switched-python-go\/  S. Thierry. 2019. Why we switched from Python to Go. https:\/\/getstream.io\/blog\/switched-python-go\/"},{"key":"e_1_3_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304069"},{"key":"e_1_3_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287654"},{"key":"e_1_3_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037708"}],"event":{"name":"PLDI '22: 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation","location":"San Diego CA USA","acronym":"PLDI '22","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3519939.3523720","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3519939.3523720","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:10:30Z","timestamp":1750183830000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3519939.3523720"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,6,9]]},"references-count":85,"alternative-id":["10.1145\/3519939.3523720","10.1145\/3519939"],"URL":"https:\/\/doi.org\/10.1145\/3519939.3523720","relation":{},"subject":[],"published":{"date-parts":[[2022,6,9]]},"assertion":[{"value":"2022-06-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}