{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T22:17:50Z","timestamp":1770243470649,"version":"3.49.0"},"reference-count":50,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","license":[{"start":{"date-parts":[[2024,10,8]],"date-time":"2024-10-08T00:00:00Z","timestamp":1728345600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2024,10,8]]},"abstract":"<jats:p>Modern multi-threaded systems are highly complex. This makes their behavior difficult to understand. Developers frequently capture behavior in the form of program traces and then manually inspect these traces. Existing tools, however, fail to scale to traces larger than a million events.<\/jats:p>\n                  <jats:p>In this paper we present an approach to compress multi-threaded traces in order to allow developers to visually explore these traces at scale. Our approach is able to compress traces that contain millions of events down to a few hundred events. We use this approach to design and implement a tool called NonSequitur.<\/jats:p>\n                  <jats:p>We present three case studies which demonstrate how we used NonSequitur to analyze real-world performance issues with Meta\u2019s storage engine RocksDB and MongoDB\u2019s storage engine WiredTiger, two complex database backends. We also evaluate NonSequitur with 42 participants on traces from RocksDB and WiredTiger. We demonstrate that, in some cases, participants on average scored 11 times higher when performing performance analysis tasks on large execution traces. Additionally, for some performance analysis tasks, the participants spent on average three times longer with other tools than with NonSequitur.<\/jats:p>","DOI":"10.1145\/3689793","type":"journal-article","created":{"date-parts":[[2024,10,8]],"date-time":"2024-10-08T03:23:04Z","timestamp":1728357784000},"page":"2325-2354","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Making Sense of Multi-threaded Application Performance at Scale with NonSequitur"],"prefix":"10.1145","volume":"8","author":[{"ORCID":"https:\/\/orcid.org\/0009-0002-9701-0389","authenticated-orcid":false,"given":"Augustine","family":"Wong","sequence":"first","affiliation":[{"name":"University of British Columbia, Vancouver, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8646-7730","authenticated-orcid":false,"given":"Paul","family":"Bucci","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1676-8834","authenticated-orcid":false,"given":"Ivan","family":"Beschastnikh","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6805-7300","authenticated-orcid":false,"given":"Alexandra","family":"Fedorova","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,10,8]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"[n. d.]. Chrome TraceViewer. https:\/\/github.com\/catapult-project\/catapult\/blob\/main\/tracing\/README.md.[Accessed 04-02-2024]."},{"key":"e_1_3_1_3_2","unstructured":"[n. d.]. G Datacenter Computers: Modern Challenges in CPU Design (invited talk UNC Distinguished Alumni Speaker Series 2015). https:\/\/www.youtube.com\/watch?v=QBu2Ae8-8LM.[Accessed 07-31-2024]."},{"key":"e_1_3_1_4_2","unstructured":"[n. d.]. G Datacenter Computers: Modern Challenges in CPU Design (invited talk UNC Distinguished Alumni Speaker Series 2015). https:\/\/www.pdl.cmu.edu\/SDI\/2015\/slides\/DatacenterComputers.pdf.[Accessed 07-31-2024]."},{"key":"e_1_3_1_5_2","unstructured":"[n. d.]. Getting Storage Engines Ready for Fast Storage Devices. https:\/\/www.mongodb.com\/blog\/post\/getting-storage-engines-ready-fast-storage-devices.[Accessed 07-31-2024]."},{"key":"e_1_3_1_6_2","unstructured":"[n. d.]. OpTrack in WiredTiger. http:\/\/source.wiredtiger.com\/10.0.0\/tool-optrack.html.[Accessed 04-02-2024]."},{"key":"e_1_3_1_7_2","unstructured":"[n. d.]. Slow read performance after update workload with LSM tree. https:\/\/jira.mongodb.org\/browse\/WT-4637.[Accessed 07-31-2024]."},{"key":"e_1_3_1_8_2","unstructured":"[n. d.]. Windows Process Monitor. https:\/\/learn.microsoft.com\/en-us\/sysinternals\/downloads\/procmon.[Accessed 04-02-2024]."},{"key":"e_1_3_1_9_2","unstructured":"[n. d.]. XRay. https:\/\/research.google\/pubs\/xray-a-function-call-tracing-system\/.[Accessed 04-02-2024]."},{"key":"e_1_3_1_10_2","doi-asserted-by":"crossref","first-page":"384","DOI":"10.1109\/ICSE.2019.00052","volume-title":"2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE).","author":"Abid Nahla J","year":"2019","unstructured":"Nahla JAbid, BonitaSharif, NataliaDragan, HendAlrasheed, and Jonathan IMaletic.2019. Developer reading behavior while summarizing java methods: Size and context matters. In 2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE).IEEE, 384\u2013395."},{"issue":"2016","key":"e_1_3_1_11_2","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.jss.2016.06.067","article-title":"Segmenting large traces of inter-process communication with a focus on high performance computing systems","volume":"120","author":"Alawneh Luay","year":"2016","unstructured":"LuayAlawneh, AbdelwahabHamou-Lhadj, and JameleddineHassine.2016. Segmenting large traces of inter-process communication with a focus on high performance computing systems. Journal of Systems and Software120(2016), 1\u201316.","journal-title":"Journal of Systems and Software"},{"key":"e_1_3_1_12_2","doi-asserted-by":"crossref","unstructured":"SabaAlimadadi AliMesbah and KarthikPattabiraman.2018. Inferring hierarchical motifs from execution traces. In Proceedings of the 40th International Conference on Software Engineering. 776\u2013787.","DOI":"10.1145\/3180155.3180216"},{"key":"e_1_3_1_13_2","first-page":"307","volume-title":"10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12)","author":"Attariyan Mona","year":"2012","unstructured":"MonaAttariyan, MIchaelChow, and JasonFlinn.2012. X-ray: Automating Root-Cause Diagnosis of Performance Anomalies in Production Software. In 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12). USENIX Association, Hollywood, CA, 307\u2013320. https:\/\/www.usenix.org\/conference\/osdi12\/technical-sessions\/presentation\/attariyan"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/3015146"},{"key":"e_1_3_1_15_2","unstructured":"BasCornelissenand LeonMoonen.2008. On large execution traces and trace abstraction techniques. Software Engineering Research Group Delft(2008)."},{"issue":"2008","key":"e_1_3_1_16_2","doi-asserted-by":"crossref","first-page":"2252","DOI":"10.1016\/j.jss.2008.02.068","article-title":"Execution trace analysis through massive sequence and circular bundle views","volume":"12","author":"Cornelissen Bas","year":"2008","unstructured":"BasCornelissen, AndyZaidman, DannyHolten, LeonMoonen, Arie VanDeursen, and Jarke JVanWijk.2008. Execution trace analysis through massive sequence and circular bundle views. Journal of Systems and Software81, 12(2008), 2252\u20132268.","journal-title":"Journal of Systems and Software"},{"key":"e_1_3_1_17_2","doi-asserted-by":"crossref","unstructured":"R\u00e9myDautriche RenaudBlanch AlexandreTermier and MiguelSantana.2016. Traceviz: A visualization framework for interactive analysis of execution traces. In Actes de la 28i\u00e8me conference francophone sur l\u2019Interaction Homme-Machine. 115\u2013125.","DOI":"10.1145\/3004107.3004127"},{"key":"e_1_3_1_18_2","doi-asserted-by":"crossref","unstructured":"Wim DePauwand SteveHeisig.2010. Zinsight: A visual and analytic environment for exploring large event traces. In Proceedings of the 5th international symposium on Software visualization. 143\u2013152.","DOI":"10.1145\/1879211.1879233"},{"issue":"2013","key":"e_1_3_1_19_2","doi-asserted-by":"crossref","first-page":"74","DOI":"10.1145\/2408776.2408794","article-title":"The Tail at Scale","volume":"56","author":"Dean Jeffrey","year":"2013","unstructured":"JeffreyDeanand Luiz Andr\u00e9Barroso.2013. The Tail at Scale. Commun. ACM56(2013), 74\u201380. http:\/\/cacm.acm.org\/magazines\/2013\/2\/160173-the-tail-at-scale\/fulltext","journal-title":"Commun. ACM"},{"key":"e_1_3_1_20_2","doi-asserted-by":"crossref","unstructured":"AlexandraFedorova CraigMustard IvanBeschastnikh JuliaRubin AugustineWong SvetozarMiucin and LouisYe.2018. Performance comprehension at WiredTiger. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 83\u201394.","DOI":"10.1145\/3236024.3236081"},{"key":"e_1_3_1_21_2","doi-asserted-by":"crossref","unstructured":"YangFeng KajDreef James AJones and Arie vanDeursen.2018. Hierarchical abstraction of execution traces for program comprehension. In Proceedings of the 26th Conference on Program Comprehension. 86\u201396.","DOI":"10.1145\/3196321.3196343"},{"key":"e_1_3_1_22_2","volume-title":"4th USENIX Symposium on Networked Systems Design & Implementation (NSDI 07)","author":"Fonseca Rodrigo","year":"2007","unstructured":"RodrigoFonseca, GeorgePorter, Randy H.Katz, and ScottShenker.2007. X-Trace: A Pervasive Network Tracing Framework. In 4th USENIX Symposium on Networked Systems Design & Implementation (NSDI 07). USENIX Association, Cambridge, MA. https:\/\/www.usenix.org\/conference\/nsdi-07\/x-trace-pervasive-network-tracing-framework"},{"key":"e_1_3_1_23_2","doi-asserted-by":"crossref","unstructured":"YuGan MingyuLiang SundarDev DavidLo and ChristinaDelimitrou.2021. Sage: practical and scalable ML-driven performance debugging in microservices. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems(Virtual USA) (ASPLOS\u201921). Association for Computing Machinery NewYork NY USA 135\u2013151. https:\/\/doi.org\/10.1145\/3445814.3446700 10.1145\/3445814.3446700","DOI":"10.1145\/3445814.3446700"},{"key":"e_1_3_1_24_2","doi-asserted-by":"crossref","first-page":"159","DOI":"10.1109\/WPC.2002.1021337","volume-title":"Proceedings 10th International Workshop on Program Comprehension","author":"Hamou-Lhadj Abdelwahab","year":"2002","unstructured":"AbdelwahabHamou-Lhadjand Timothy CLethbridge.2002. Compression techniques to simplify the analysis of large execution traces. In Proceedings 10th International Workshop on Program Comprehension. IEEE, 159\u2013168."},{"key":"e_1_3_1_25_2","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1109\/ICSE.2012.6227198","volume-title":"2012 34th International Conference on Software Engineering (ICSE)","author":"Han Shi","year":"2012","unstructured":"ShiHan, YingnongDang, SongGe, DongmeiZhang, and TaoXie.2012. Performance debugging in the large via mining millions of stack traces. In 2012 34th International Conference on Software Engineering (ICSE). IEEE, 145\u2013155."},{"key":"e_1_3_1_26_2","unstructured":"Katherine EIsaacs AlfredoGim\u00e9nez IlirJusufi ToddGamblin AbhinavBhatele MartinSchulz BerndHamann and Peer-TimoBremer.2014. State of the Art of Performance Visualization. EuroVis (STARs)(2014)."},{"key":"e_1_3_1_27_2","doi-asserted-by":"crossref","unstructured":"HiranyaJayathilaka ChandraKrintz and RichWolski.2017. Performance Monitoring and Root Cause Analysis for Cloud-hosted Web Applications. In Proceedings of the 26th International Conference on World Wide Web(Perth Australia)(WWW\u201917). International World Wide Web Conferences Steering Committee Republic and Canton of Geneva CHE 469\u2013478. https:\/\/doi.org\/10.1145\/3038912.3052649 10.1145\/3038912.3052649","DOI":"10.1145\/3038912.3052649"},{"key":"e_1_3_1_28_2","doi-asserted-by":"crossref","unstructured":"MilanJovic AndreaAdamoli and MatthiasHauswirth.2011. Catch me if you can: performance bug detection in the wild. In Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications. 155\u2013170.","DOI":"10.1145\/2048066.2048081"},{"key":"e_1_3_1_29_2","first-page":"345","volume-title":"16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19)","author":"Kaffes Kostis","year":"2019","unstructured":"KostisKaffes, TimothyChong, Jack TigarHumphries, AdamBelay, DavidMazi\u00e8res, and ChristosKozyrakis.2019. Shinjuku: Preemptive Scheduling for \u03bcsecond-scale Tail Latency. In 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19). USENIX Association, Boston, MA, 345\u2013360. https:\/\/www.usenix.org\/conference\/nsdi19\/presentation\/kaffes"},{"key":"e_1_3_1_30_2","doi-asserted-by":"crossref","first-page":"34","DOI":"10.1145\/3132747.3132749","volume-title":"Proceedings of the 26th Symposium on Operating Systems Principles(SOSP\u201917)","author":"Kaldor Jonathan","year":"2017","unstructured":"JonathanKaldor, JonathanMace, MichalBejda, EdisonGao, WiktorKuropatwa, JoeO\u2019Neill, Kian WinOng, BillSchaller, PingjiaShan, BrendanViscomi, VinodVenkataraman, KaushikVeeraraghavan, and Yee JiunSong.2017. Canopy: An End-to-End Performance Tracing And Analysis System. In Proceedings of the 26th Symposium on Operating Systems Principles(Shanghai, China)(SOSP\u201917). Association for Computing Machinery, New York, NY, USA, 34\u201350. https:\/\/doi.org\/10.1145\/3132747.3132749 10.1145\/3132747.3132749"},{"key":"e_1_3_1_31_2","doi-asserted-by":"crossref","unstructured":"BenjaminKarran JonasTr\u00fcmper and J\u00fcrgenD\u00f6llner.2013. Synctrace: Visual thread-interplay analysis. In 2013 First IEEE Working Conference on Software Visualization (VISSOFT). IEEE 1\u201310.","DOI":"10.1109\/VISSOFT.2013.6650534"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3489525.3511675"},{"key":"e_1_3_1_33_2","doi-asserted-by":"crossref","unstructured":"YepangLiu ChangXu and Shing-ChiCheung.2014. Characterizing and detecting performance bugs for smartphone applications. In Proceedings of the 36th international conference on software engineering. 1013\u20131024.","DOI":"10.1145\/2568225.2568229"},{"key":"e_1_3_1_34_2","unstructured":"DavidLo Siau-ChengKhoo and ChaoLiu.2007. Mining temporal rules from program execution traces. Proc. of Int. Work. on Program Comprehension through Dynamic Analysis(2007)."},{"issue":"4","key":"e_1_3_1_35_2","first-page":"28","article-title":"Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems","volume":"35","author":"Mace Jonathan","year":"2018","unstructured":"JonathanMace, RyanRoelke, and RodrigoFonseca.2018. Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems. ACM Trans. Comput. Syst.35, 4, Article 11 (dec 2018), 28pages. https:\/\/doi.org\/10.1145\/3208104 10.1145\/3208104","journal-title":"ACM Trans. Comput. Syst."},{"key":"e_1_3_1_36_2","doi-asserted-by":"crossref","unstructured":"AdrianNistor TianJiang and LinTan.2013. Discovering reporting and fixing performance bugs. In 2013 10th working conference on mining software repositories (MSR). IEEE 237\u2013246.","DOI":"10.1109\/MSR.2013.6624035"},{"key":"e_1_3_1_37_2","first-page":"293","volume-title":"12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15)","author":"Ousterhout Kay","year":"2015","unstructured":"KayOusterhout, RyanRasti, SylviaRatnasamy, ScottShenker, and Byung-GonChun.2015. Making Sense of Performance in Data Analytics Frameworks. In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15). USENIX Association, Oakland, CA, 293\u2013307. https:\/\/www.usenix.org\/conference\/nsdi15\/technical-sessions\/presentation\/ousterhout"},{"key":"e_1_3_1_38_2","doi-asserted-by":"crossref","unstructured":"Michael JohnPacione MarcRoper and MurrayWood.2004. A novel software visualisation model to support software comprehension. In 11th working conference on reverse engineering. IEEE 70\u201379.","DOI":"10.1109\/WCRE.2004.7"},{"key":"e_1_3_1_39_2","doi-asserted-by":"crossref","unstructured":"HeidarPirzadeh AkankshaAgarwal and AbdelwahabHamou-Lhadj.2010. An approach for detecting execution phases of a system for the purpose of program comprehension. In 2010 Eighth ACIS International Conference on Software Engineering Research Management and Applications. IEEE 207\u2013214.","DOI":"10.1109\/SERA.2010.34"},{"key":"e_1_3_1_40_2","doi-asserted-by":"crossref","first-page":"325","DOI":"10.1145\/3132747.3132780","volume-title":"Proceedings of the 26th Symposium on Operating Systems Principles(SOSP\u201917)","author":"Prekas George","year":"2017","unstructured":"GeorgePrekas, MariosKogias, and EdouardBugnion.2017. ZygOS: Achieving Low Tail Latency for Microsecond-scale Networked Tasks. In Proceedings of the 26th Symposium on Operating Systems Principles(Shanghai, China)(SOSP\u201917). Association for Computing Machinery, New York, NY, USA, 325\u2013341. https:\/\/doi.org\/10.1145\/3132747.3132780 10.1145\/3132747.3132780"},{"issue":"2020","key":"e_1_3_1_41_2","doi-asserted-by":"crossref","first-page":"107214","DOI":"10.1109\/ACCESS.2020.3000928","article-title":"Tandem: A taxonomy and a dataset of real-world performance bugs","volume":"8","author":"S\u00e1nchez Ana B","year":"2020","unstructured":"Ana BS\u00e1nchez, PedroDelgado-P\u00e9rez, InmaculadaMedina-Bulo, and SergioSegura.2020. Tandem: A taxonomy and a dataset of real-world performance bugs. IEEE Access8(2020), 107214\u2013107228.","journal-title":"IEEE Access"},{"key":"e_1_3_1_42_2","unstructured":"Benjamin H.Sigelman Luiz Andr\u00e9Barroso MikeBurrows PatStephenson ManojPlakal DonaldBeaver SaulJaspan and ChandanShanbhag.2010. Dapper a Large-Scale Distributed Systems Tracing Infrastructure. Technical Report. Google Inc. http:\/\/research.google.com\/archive\/papers\/dapper-2010-1.pdf"},{"key":"e_1_3_1_43_2","volume-title":"Understanding software dynamics","author":"Sites Richard","year":"2021","unstructured":"RichardSites.2021. Understanding software dynamics. Addison Wesley."},{"key":"e_1_3_1_44_2","doi-asserted-by":"crossref","unstructured":"JonasTr\u00fcmper JohannesBohnet and J\u00fcrgenD\u00f6llner.2010. Understanding complex multithreaded software systems by using trace visualization. In Proceedings of the 5th international symposium on Software visualization. 133\u2013142.","DOI":"10.1145\/1879211.1879232"},{"key":"e_1_3_1_45_2","doi-asserted-by":"crossref","unstructured":"JonasTr\u00fcmper J\u00fcrgenD\u00f6llner and AlexandruTelea.2013. Multiscale visual comparison of execution traces. In 2013 21st International Conference on Program Comprehension (ICPC). IEEE 53\u201362.","DOI":"10.1109\/ICPC.2013.6613833"},{"key":"e_1_3_1_46_2","doi-asserted-by":"crossref","unstructured":"NeilWalkinshaw SheevaAfshan and PhilMcMinn.2010. Using compression algorithms to support the comprehension of program traces. In Proceedings of the Eighth International Workshop on Dynamic Analysis. 8\u201313.","DOI":"10.1145\/1868321.1868323"},{"key":"e_1_3_1_47_2","unstructured":"AugustineWong PaulBucci IvanBeschastnikh and AlexandraFedorova.2024. NonSequitur Source Code and User Study Result Data for the paper \"Making Sense of Multi-Threaded Application Performance at Scale with NonSequitur.\". https:\/\/doi.org\/10.5281\/zenodo.13446443 10.5281\/zenodo.13446443"},{"key":"e_1_3_1_48_2","doi-asserted-by":"crossref","unstructured":"HaoXu QingsenWang ShuangSong Lizy KurianJohn and XuLiu.2019. Can we trust profiling results? Understanding and fixing the inaccuracy in modern profilers. In Proceedings of the ACM International Conference on Supercomputing. 284\u2013295.","DOI":"10.1145\/3330345.3330371"},{"key":"e_1_3_1_49_2","doi-asserted-by":"crossref","unstructured":"ShahedZaman BramAdams and Ahmed EHassan.2012. A qualitative study on performance bugs. In 2012 9th IEEE working conference on mining software repositories (MSR). IEEE 199\u2013208.","DOI":"10.1109\/MSR.2012.6224281"},{"key":"e_1_3_1_50_2","first-page":"655","volume-title":"2022 USENIX Annual Technical Conference (USENIX ATC 22)","author":"Zhang Zhizhou","year":"2022","unstructured":"ZhizhouZhang, Murali KrishnaRamanathan, PrithviRaj, AbhishekParwal, TimothySherwood, and MilindChabbi.2022. CRISP: Critical Path Analysis of Large-Scale Microservice Architectures. In 2022 USENIX Annual Technical Conference (USENIX ATC 22). USENIX Association, Carlsbad, CA, 655\u2013672. https:\/\/www.usenix.org\/conference\/atc22\/presentation\/zhang-zhizhou"},{"key":"e_1_3_1_51_2","doi-asserted-by":"publisher","DOI":"10.1145\/3620678.3624652"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3689793","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3689793","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T09:11:11Z","timestamp":1770196271000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3689793"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,10,8]]},"references-count":50,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2024,10,8]]}},"alternative-id":["10.1145\/3689793"],"URL":"https:\/\/doi.org\/10.1145\/3689793","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,10,8]]},"assertion":[{"value":"2024-04-06","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-08-18","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-10-08","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}