{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,8]],"date-time":"2026-03-08T02:50:55Z","timestamp":1772938255985,"version":"3.50.1"},"reference-count":71,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","license":[{"start":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T00:00:00Z","timestamp":1720742400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100000781","name":"European Research Council","doi-asserted-by":"publisher","award":["851895"],"award-info":[{"award-number":["851895"]}],"id":[{"id":"10.13039\/501100000781","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2024,7,12]]},"abstract":"<jats:p>Python has emerged as one of the most popular programming languages, extensively utilized in domains such as machine learning, data analysis, and web applications. Python\u2019s dynamic nature and extensive usage make it an attractive candidate for dynamic program analysis. However, unlike for other popular languages, there currently is no comprehensive benchmark suite of executable Python projects, which hinders the development of dynamic analyses. This work addresses this gap by presenting DyPyBench, the first benchmark of Python projects that is large-scale, diverse, ready-to-run (i.e., with fully configured and prepared test suites), and ready-to-analyze (by integrating with the DynaPyt dynamic analysis framework). The benchmark encompasses 50 popular open-source projects from various application domains, with a total of 681k lines of Python code, and 30k test cases. DyPyBench enables various applications in testing and dynamic analysis, of which we explore three in this work: (i) Gathering dynamic call graphs and empirically comparing them to statically computed call graphs, which exposes and quantifies limitations of existing call graph construction techniques for Python. (ii) Using DyPyBench to build a training data set for LExecutor, a neural model that learns to predict values that otherwise would be missing at runtime. (iii) Using dynamically gathered execution traces to mine API usage specifications, which establishes a baseline for future work on specification mining for Python. We envision DyPyBench to provide a basis for other dynamic analyses and for studying the runtime behavior of Python code.<\/jats:p>","DOI":"10.1145\/3643742","type":"journal-article","created":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T10:22:09Z","timestamp":1720779729000},"page":"338-358","source":"Crossref","is-referenced-by-count":6,"title":["DyPyBench: A Benchmark of Executable Python Software"],"prefix":"10.1145","volume":"1","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3920-3839","authenticated-orcid":false,"given":"Islem","family":"Bouzenia","sequence":"first","affiliation":[{"name":"University of Stuttgart, Stuttgart, Germany"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-1227-2265","authenticated-orcid":false,"given":"Bajaj Piyush","family":"Krishan","sequence":"additional","affiliation":[{"name":"University of Stuttgart, Stuttgart, Germany"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1623-498X","authenticated-orcid":false,"given":"Michael","family":"Pradel","sequence":"additional","affiliation":[{"name":"University of Stuttgart, Stuttgart, Germany"}]}],"member":"320","published-online":{"date-parts":[[2024,7,12]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/CSF51468.2021.00043"},{"key":"e_1_3_1_3_2","first-page":"54","volume-title":"European Conference on Object-Oriented Programming","author":"Ali Karim","year":"2014","unstructured":"Karim Ali, Marianna Rapoport, Ond\u0159ej Lhot\u00e1k, Julian Dolby, and Frank Tip. 2014. Constructing call graphs of Scala programs. In European Conference on Object-Oriented Programming. Springer, 54\u201379."},{"key":"e_1_3_1_4_2","doi-asserted-by":"crossref","unstructured":"Miltiadis Allamanis Earl T. Barr Soline Ducousso and Zheng Gao. 2020. Typilus: Neural Type Hints. In PLDI.","DOI":"10.1145\/3385412.3385997"},{"key":"e_1_3_1_5_2","first-page":"4","volume-title":"Symposium on Principles of Programming Languages (POPL)","author":"Ammons Glenn","year":"2002","unstructured":"Glenn Ammons, Rastislav Bod\u00edk, and James R. Larus. 2002. Mining specifications. In Symposium on Principles of Programming Languages (POPL). ACM, 4\u201316."},{"key":"e_1_3_1_6_2","doi-asserted-by":"crossref","unstructured":"Jong-hoon (David) An Avik Chaudhuri Jeffrey S. Foster and Michael Hicks. 2011. Dynamic inference of static types for Ruby.. In POPL. 459\u2013472.","DOI":"10.1145\/1926385.1926437"},{"key":"e_1_3_1_7_2","doi-asserted-by":"crossref","unstructured":"David F Bacon and Peter F Sweeney. 1996. Fast static analysis of C++ virtual function calls. In Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming systems languages and applications. 324\u2013341.","DOI":"10.1145\/236337.236371"},{"key":"e_1_3_1_8_2","unstructured":"Emery D Berger Sam Stern and Juan Altmayer Pizzorno. 2023. Triangulating Python Performance Issues with {SCALENE}. In 17th USENIX Symposium on Operating Systems Design and Implementation (OSDI 23). 51\u201364."},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00096"},{"key":"e_1_3_1_10_2","volume-title":"Benchmarking Modern Multiprocessors","author":"Bienia Christian","year":"2011","unstructured":"Christian Bienia. 2011. Benchmarking Modern Multiprocessors. Ph.D. Dissertation. Princeton University."},{"key":"e_1_3_1_11_2","first-page":"169","volume-title":"Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)","author":"Blackburn Stephen M.","year":"2006","unstructured":"Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khan, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony L. Hosking, Maria Jump, Han Bok Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanovic, Thomas VanDrunen, Daniel von Dincklage, and Ben Wiedermann. 2006. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). ACM, 169\u2013190."},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","unstructured":"Islem Bouzenia Bajaj Piyush Krishan and Michael Pradel. 2024. DyPyBench Docker Image. https:\/\/doi.org\/10.5281\/zenodo.11097202 10.5281\/zenodo.11097202","DOI":"10.5281\/zenodo.11097202"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2003.1191551"},{"key":"e_1_3_1_14_2","volume-title":"36th European Conference on Object-Oriented Programming (ECOOP 2022)","author":"Chakraborty Madhurima","year":"2022","unstructured":"Madhurima Chakraborty, Renzo Olivares, Manu Sridharan, and Behnaz Hassanshahi. 2022. Automatic root cause quantification for missing edges in javascript call graphs. In 36th European Conference on Object-Oriented Programming (ECOOP 2022). Schloss Dagstuhl-Leibniz-Zentrum f\u00fcr Informatik."},{"key":"e_1_3_1_15_2","unstructured":"Mark Chen Jerry Tworek Heewoo Jun Qiming Yuan Henrique Ponde de Oliveira Pinto Jared Kaplan Harri Edwards Yuri Burda Nicholas Joseph Greg Brockman et al. 2021. Evaluating large language models trained on code. arXiv preprint arXiv:2107.03374 (2021)."},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSAC.2014.30"},{"key":"e_1_3_1_17_2","doi-asserted-by":"crossref","first-page":"219","DOI":"10.1109\/COMPSAC.2014.30","volume-title":"2014 IEEE 38th Annual Computer Software and Applications Conference.","author":"Chen Zhifei","year":"2014","unstructured":"Zhifei Chen, Lin Chen, Yuming Zhou, Zhaogui Xu, William C Chu, and Baowen Xu. 2014. Dynamic slicing of Python programs. In 2014 IEEE 38th Annual Computer Software and Applications Conference. IEEE, 219\u2013228."},{"key":"e_1_3_1_18_2","first-page":"196","volume-title":"International Symposium on Software Testing and Analysis (ISSTA)","author":"Clause James A.","year":"2007","unstructured":"James A. Clause, Wanchun Li, and Alessandro Orso. 2007. Dytan: a generic dynamic taint analysis framework. In International Symposium on Software Testing and Analysis (ISSTA). ACM, 196\u2013206."},{"key":"e_1_3_1_19_2","unstructured":"Naji Dmeiri David A. Tomassi Yichen Wang Antara Bhowmick Yen-Chuan Liu Premkumar T. Devanbu Bogdan Vasilescu and Cindy Rubio-Gonz\u00e1lez. 2019. BugSwarm: Mining and Continuously Growing a Dataset of Reproducible Failures and Fixes. CoRR abs\/1903.06725 (2019). arXiv:1903.06725 http:\/\/arxiv.org\/abs\/1903.06725"},{"key":"e_1_3_1_20_2","doi-asserted-by":"crossref","unstructured":"Brendan Dolan-Gavitt Patrick Hulin Engin Kirda Tim Leek Andrea Mambretti William K. Robertson Frederick Ulrich and Ryan Whelan. 2016. LAVA: Large-Scale Automated Vulnerability Addition. In IEEE Symposium on Security and Privacy SP 2016 San Jose CA USA May 22-26 2016. 110\u2013121.","DOI":"10.1109\/SP.2016.15"},{"key":"e_1_3_1_21_2","unstructured":"Manuel Egele Maverick Woo Peter Chapman and David Brumley. 2014. Blanket Execution: Dynamic Similarity Testing for Program Binaries and Components. In Proceedings of the 23rd USENIX Security Symposium San Diego CA USA August 20-22 2014. 303\u2013317."},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549126"},{"key":"e_1_3_1_23_2","doi-asserted-by":"crossref","unstructured":"Asger Feldthaus Max Sch\u00e4fer Manu Sridharan Julian Dolby and Frank Tip. 2013. Efficient construction of approximate call graphs for JavaScript IDE services. In 35th International Conference on Software Engineering ICSE \u201913 San Francisco CA USA May 18-26 2013. 752\u2013761.","DOI":"10.1109\/ICSE.2013.6606621"},{"key":"e_1_3_1_24_2","first-page":"256","volume-title":"Symposium on Principles of Programming Languages (POPL)","author":"Flanagan Cormac","year":"2004","unstructured":"Cormac Flanagan and Stephen N. Freund. 2004. Atomizer: a dynamic atomicity checker for multithreaded programs. In Symposium on Principles of Programming Languages (POPL). ACM, 256\u2013267."},{"key":"e_1_3_1_25_2","first-page":"1","volume-title":"Workshop on Program Analysis for Software Tools and Engineering (PASTE)","author":"Flanagan Cormac","year":"2010","unstructured":"Cormac Flanagan and Stephen N. Freund. 2010. The RoadRunner dynamic analysis framework for concurrent programs. In Workshop on Program Analysis for Software Tools and Engineering (PASTE). ACM, 1\u20138."},{"key":"e_1_3_1_26_2","doi-asserted-by":"crossref","unstructured":"Liang Gong Michael Pradel Manu Sridharan and Koushik Sen. 2015. DLint: Dynamically Checking Bad Coding Practices in JavaScript. In International Symposium on Software Testing and Analysis (ISSTA). 94\u2013105.","DOI":"10.1145\/2771783.2771809"},{"key":"e_1_3_1_27_2","doi-asserted-by":"crossref","unstructured":"Luca Di Grazia and Michael Pradel. 2022. The Evolution of Type Annotations in Python: An Empirical Study.. In ESEC\/FSE.","DOI":"10.1145\/3540250.3549114"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST49551.2021.00026"},{"key":"e_1_3_1_29_2","doi-asserted-by":"crossref","first-page":"90","DOI":"10.1109\/ICST.2019.00019","volume-title":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","author":"Gyimesi P\u00e9ter","year":"2019","unstructured":"P\u00e9ter Gyimesi, B\u00e9la Vancsics, Andrea Stocco, Davood Mazinanian, Arp\u00e1d Besz\u00e9des, Rudolf Ferenc, and Ali Mesbah. 2019. Bugsjs: a benchmark of javascript bugs. In 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST). IEEE, 90\u2013101."},{"key":"e_1_3_1_30_2","doi-asserted-by":"crossref","first-page":"215","DOI":"10.1109\/ICDE.2001.914830","volume-title":"proceedings of the 17th international conference on data engineering","author":"Han Jiawei","year":"2001","unstructured":"Jiawei Han, Jian Pei, Behzad Mortazavi-Asl, Helen Pinto, Qiming Chen, Umeshwar Dayal, and Meichun Hsu. 2001. Prefixspan: Mining sequential patterns efficiently by prefix-projected pattern growth. In proceedings of the 17th international conference on data engineering. IEEE, 215\u2013224."},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/3428334"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/1186736.1186737"},{"key":"e_1_3_1_33_2","doi-asserted-by":"crossref","unstructured":"Matthias H\u00f6schele and Andreas Zeller. 2016. Mining input grammars from dynamic taints. In Proceedings of the 31st IEEE\/ACM International Conference on Automated Software Engineering ASE 2016 Singapore September 3-7 2016. 720\u2013725.","DOI":"10.1145\/2970276.2970321"},{"key":"e_1_3_1_34_2","doi-asserted-by":"crossref","unstructured":"Ren\u00e9 Just Darioush Jalali and Michael D. Ernst. 2014. Defects4J: a database of existing faults to enable controlled testing studies for Java programs. In International Symposium on Software Testing and Analysis ISSTA \u201914 San Jose CA USA - July 21 - 26 2014. 437\u2013440.","DOI":"10.1145\/2610384.2628055"},{"key":"e_1_3_1_35_2","doi-asserted-by":"crossref","unstructured":"Daniel Lehmann and Michael Pradel. 2019. Wasabi: A Framework for Dynamically Analyzing WebAssembly. In ASPLOS.","DOI":"10.1145\/3297858.3304068"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","unstructured":"Daniel Lehmann Michelle Thalakottur Frank Tip and Michael Pradel. 2023. That\u2019s a Tough Call: Studying the Challenges of Call Graph Construction for WebAssembly. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis ISSTA 2023. 892\u2013903. https:\/\/doi.org\/10.1145\/3597926.3598104 10.1145\/3597926.3598104","DOI":"10.1145\/3597926.3598104"},{"key":"e_1_3_1_37_2","unstructured":"Shuai Lu Daya Guo Shuo Ren Junjie Huang Alexey Svyatkovskiy Ambrosio Blanco Colin Clement Dawn Drain Daxin Jiang Duyu Tang et al. 2021. Codexglue: A machine learning benchmark dataset for code understanding and generation. arXiv preprint arXiv:2102.04664 (2021)."},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/1064978.1065034"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00146"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/2162049.2162077"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/279310.279314"},{"key":"e_1_3_1_42_2","first-page":"89","volume-title":"Conference on Programming Language Design and Implementation (PLDI)","author":"Nethercote Nicholas","year":"2007","unstructured":"Nicholas Nethercote and Julian Seward. 2007. Valgrind: a framework for heavyweight dynamic binary instrumentation. In Conference on Programming Language Design and Implementation (PLDI). ACM, 89\u2013100."},{"key":"e_1_3_1_43_2","first-page":"167","volume-title":"Symposium on Principles and Practice of Parallel Programming (PPOPP)","author":"O\u2019Callahan Robert","year":"2003","unstructured":"Robert O\u2019Callahan and Jong-Deok Choi. 2003. Hybrid dynamic data race detection. In Symposium on Principles and Practice of Parallel Programming (PPOPP). ACM, 167\u2013178."},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468623"},{"key":"e_1_3_1_45_2","doi-asserted-by":"crossref","unstructured":"Kexin Pei Jonas Guan Matthew Broughton Zhongtian Chen Songchen Yao David Williams-King Vikas Ummadisetty Junfeng Yang Baishakhi Ray and Suman Jana. 2021. StateFormer: Fine-grained type recovery from binaries using generative state modeling. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 690\u2013702.","DOI":"10.1145\/3468264.3468607"},{"key":"e_1_3_1_46_2","unstructured":"Kexin Pei Zhou Xuan Junfeng Yang Suman Jana and Baishakhi Ray. 2020. Trex: Learning execution semantics from micro-traces for binary similarity. arXiv preprint arXiv:2012.08680 (2020)."},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/3460348"},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","unstructured":"Michael Pradel Georgios Gousios Jason Liu and Satish Chandra. 2020. TypeWriter: Neural Type Prediction with Search-based Validation. In ESEC\/FSE \u201920: 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering Virtual Event USA November 8-13 2020. 209\u2013220. https:\/\/doi.org\/10.1145\/3368089.3409715 10.1145\/3368089.3409715","DOI":"10.1145\/3368089.3409715"},{"key":"e_1_3_1_49_2","doi-asserted-by":"crossref","unstructured":"Michael Pradel and Thomas R. Gross. 2009. Automatic Generation of Object Usage Specifications from Large Method Traces. In International Conference on Automated Software Engineering (ASE). 371\u2013382.","DOI":"10.1109\/ASE.2009.60"},{"key":"e_1_3_1_50_2","doi-asserted-by":"crossref","unstructured":"Michael Pradel Parker Schuh and Koushik Sen. 2015. TypeDevil: Dynamic Type Inconsistency Analysis for JavaScript. In International Conference on Software Engineering (ICSE).","DOI":"10.1109\/ICSE.2015.51"},{"key":"e_1_3_1_51_2","doi-asserted-by":"crossref","unstructured":"Ingkarat Rak-amnouykit Daniel McCrevan Ana Milanova Martin Hirzel and Julian Dolby. 2020. Python 3 Types in the Wild: A Tale of Two Type Systems. In DLS.","DOI":"10.1145\/3426422.3426981"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330555"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2012.63"},{"key":"e_1_3_1_54_2","doi-asserted-by":"crossref","unstructured":"Ripon K Saha Yingjun Lyu Wing Lam Hiroaki Yoshida and Mukul R Prasad. 2018. Bugs. jar: A large-scale diverse dataset of real-world java bugs. In Proceedings of the 15th international conference on mining software repositories. 10\u201313.","DOI":"10.1145\/3196398.3196473"},{"key":"e_1_3_1_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00146"},{"key":"e_1_3_1_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"e_1_3_1_57_2","doi-asserted-by":"crossref","unstructured":"Marija Selakovic and Michael Pradel. 2016. Performance Issues and Optimizations in JavaScript: An Empirical Study. In International Conference on Software Engineering (ICSE). 61\u201372.","DOI":"10.1145\/2884781.2884829"},{"key":"e_1_3_1_58_2","doi-asserted-by":"crossref","unstructured":"Koushik Sen Swaroop Kalasapur Tasneem Brutch and Simon Gibbs. 2013. Jalangi: A Selective Record-Replay and Dynamic Analysis Framework for JavaScript. In European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE). 488\u2013498.","DOI":"10.1145\/2491411.2491447"},{"key":"e_1_3_1_59_2","doi-asserted-by":"crossref","unstructured":"Andreas Sewe Mira Mezini Aibek Sarimbekov and Walter Binder. 2011. Da capo con scala: Design and analysis of a scala benchmark suite for the java virtual machine. In Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications. 657\u2013676.","DOI":"10.1145\/2048066.2048118"},{"key":"e_1_3_1_60_2","doi-asserted-by":"crossref","unstructured":"Beatriz Souza and Michael Pradel. 2023. LExecutor: Learning-Guided Execution. In FSE.","DOI":"10.1145\/3611643.3616254"},{"key":"e_1_3_1_61_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380441"},{"key":"e_1_3_1_62_2","doi-asserted-by":"crossref","unstructured":"Frank Tip and Jens Palsberg. 2000. Scalable propagation-based call graph construction algorithms. In Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming systems languages and applications. 281\u2013293.","DOI":"10.1145\/353171.353190"},{"key":"e_1_3_1_63_2","doi-asserted-by":"crossref","unstructured":"Luca Della Toffola Michael Pradel and Thomas R. Gross. 2015. Performance Problems You Can Fix: A Dynamic Analysis of Memoization Opportunities. In Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA). 607\u2013622.","DOI":"10.1145\/2814270.2814290"},{"key":"e_1_3_1_64_2","doi-asserted-by":"crossref","unstructured":"Akshay Utture Shuyang Liu Christian Gram Kalhauge and Jens Palsberg. 2022. Striking a Balance: Pruning False- Positives from Static Call Graphs. In ICSE.","DOI":"10.1145\/3510003.3510166"},{"key":"e_1_3_1_65_2","doi-asserted-by":"crossref","unstructured":"Ratnadira Widyasari Sheng Qin Sim Camellia Lok Haodi Qi Jack Phan Qijin Tay Constance Tan Fiona Wee Jodie Ethelda Tan Yuheng Yieh et al. 2020. Bugsinpy: a database of existing bugs in python programs to enable controlled testing and debugging studies. In Proceedings of the 28th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering. 1556\u20131560.","DOI":"10.1145\/3368089.3417943"},{"key":"e_1_3_1_66_2","first-page":"419","volume-title":"Conference on Programming Language Design and Implementation (PLDI)","author":"Xu Guoqing (Harry)","year":"2009","unstructured":"Guoqing (Harry) Xu, Matthew Arnold, Nick Mitchell, Atanas Rountev, and Gary Sevitsky. 2009. Go with the flow: profiling copies to find runtime bloat. In Conference on Programming Language Design and Implementation (PLDI). ACM, 419\u2013430."},{"key":"e_1_3_1_67_2","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950357"},{"key":"e_1_3_1_68_2","doi-asserted-by":"publisher","unstructured":"Zhaogui Xu Xiangyu Zhang Lin Chen Kexin Pei and Baowen Xu. 2016. Python probabilistic type inference with natural language support. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering FSE 2016 Seattle WA USA November 13-18 2016. 607\u2013618. https:\/\/doi.org\/10.1145\/2950290.2950343 10.1145\/2950290.2950343","DOI":"10.1145\/2950290.2950343"},{"key":"e_1_3_1_69_2","doi-asserted-by":"crossref","unstructured":"Yanyan Yan Yang Feng Hongcheng Fan and Baowen Xu. 2023. DLInfer: Deep Learning with Static Slicing for Python Type Inference. In ICSE.","DOI":"10.1109\/ICSE48619.2023.00170"},{"key":"e_1_3_1_70_2","first-page":"282","volume-title":"International Conference on Software Engineering (ICSE)","author":"Yang Jinlin","year":"2006","unstructured":"Jinlin Yang, David Evans, Deepali Bhardwaj, Thirumalesh Bhat, and Manuvir Das. 2006. Perracotta: Mining temporal API rules from imperfect traces. In International Conference on Software Engineering (ICSE). ACM, 282\u2013291."},{"key":"e_1_3_1_71_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO51591.2021.9370317"},{"key":"e_1_3_1_72_2","volume-title":"arXiv preprint arXiv:2301.12633","author":"Zhang Zejun","year":"2023","unstructured":"Zejun Zhang, Zhenchang Xing, Xin Xia, Xiwei Xu, Liming Zhu, and Qinghua Lu. 2023. Faster or Slower? Performance Mystery of Python Idioms Unveiled with Empirical Evidence, In ICSE. arXiv preprint arXiv:2301.12633."}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643742","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3643742","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T08:04:56Z","timestamp":1770192296000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643742"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,12]]},"references-count":71,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2024,7,12]]}},"alternative-id":["10.1145\/3643742"],"URL":"https:\/\/doi.org\/10.1145\/3643742","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,7,12]]}}}