Wed 17 Jul 2024 16:00 - 16:18 at Acerola - Program Analysis and Performance 1 Chair(s): Alessandra Gorla

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’s 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 (i.e., using an integrated Python 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 solid basis for many other applications or dynamic analysis.

Wed 17 Jul

Displayed time zone: Brasilia, Distrito Federal, Brazil change

16:00 - 18:00
Program Analysis and Performance 1Research Papers / Industry Papers / Demonstrations / Ideas, Visions and Reflections at Acerola
Chair(s): Alessandra Gorla IMDEA Software Institute
16:00
18m
Talk
DyPyBench: A Benchmark of Executable Python Software
Research Papers
Islem BOUZENIA University of Stuttgart, Bajaj Piyush Krishan University of Stuttgart, Michael Pradel University of Stuttgart
16:18
18m
Talk
Fast Graph Simplification for Path-Sensitive Typestate Analysis through Tempo-Spatial Multi-Point SlicingDistinguished Paper Award
Research Papers
DOI Pre-print
16:36
18m
Talk
PBE-based Selective Abstraction and Refinement for Efficient Property Falsification of Embedded Software
Research Papers
Yoel Kim Kyungpook National University, Yunja Choi Kyungpook National University
DOI Pre-print File Attached
16:54
18m
Talk
Predictive Program Slicing via Execution Knowledge-Guided Dynamic Dependence LearningDistinguished Paper Award
Research Papers
Aashish Yadavally University of Texas at Dallas, Yi Li University of Texas at Dallas, Tien N. Nguyen University of Texas at Dallas
Pre-print
17:12
18m
Talk
Checking Complex Source Code-level Constraints using Runtime Verification
Industry Papers
Joshua Heneage Dawes University of Luxembourg, Domenico Bianculli University of Luxembourg
17:30
9m
Talk
XGuard: Detecting Inconsistency Behaviors of Crosschain Bridges
Demonstrations
Ke Wang Peking University, Yue Li Peking University, Che Wang Peking University, China, Jianbo Gao Peking University, Zhi Guan Peking University, Zhong Chen
17:39
9m
Talk
Rapid Taint Assisted Concolic Execution (TACE)
Demonstrations
Ridhi Jain Technology Innovation Institute (TII), Abu Dhabi, UAE, Norbert Tihanyi Technology Innovation Institute, Mthandazo Ndhlovu Technology Innovation Institute, Mohamed Amine Ferrag Technology Innovation Institute, Lucas C. Cordeiro University of Manchester, UK
DOI
17:48
9m
Talk
Verification of Programs with Common Fragments
Ideas, Visions and Reflections
Ivan Postolski University of Buenos Aires, Víctor Braberman ICC (UBA-CONICET), Diego Garbervetsky Departamento de Computación, FCEyN, UBA, Sebastian Uchitel Imperial College and University of Buenos Aires