Although Large Language Models (LLMs) are highly proficient in understanding source code and descriptive texts, they have limitations in reasoning on dynamic program behaviors, such as execution trace and code coverage prediction, and runtime error prediction, which usually require actual program execution. To advance the ability of LLMs in predicting dynamic behaviors, we leverage the strengths of both approaches, Program Analysis (PA) and LLM, in building CodEx, a predictive executor for Python. Our principle is a blended analysis between PA and LLM to use PA to guide the LLM in predicting execution traces. We break down the task of predictive execution into smaller sub-tasks and leverage the deterministic nature when an execution order can be deterministically decided. When it is not certain, we use predictive backward slicing per variable, i.e., slicing the prior trace to only the parts that affect each variable separately breaks up the valuation prediction into significantly simpler problems. Our empirical evaluation on real-world datasets shows that CodEx achieves up to 26% relatively higher accuracy in predicting full execution traces than the state-of-the-art models. It also produces up to 41.7% correct execution trace prefixes than those baselines. In predicting next executed statements, its relative improvement over the baselines is up to 82.1%. Finally, we show CodEx’s usefulness in two tasks: static code coverage analysis and prediction of run-time errors for (in)complete code snippets.
Tue 24 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:20 | Program Analysis 2Research Papers / Ideas, Visions and Reflections / Demonstrations at Pirsenteret 150 Chair(s): Martin Kellogg New Jersey Institute of Technology | ||
14:00 10mTalk | IceBear: A Fine-Grained Incremental Scheduler for C/C++ Static Analyzers Demonstrations | ||
14:10 20mTalk | Blended Analysis for Predictive Execution Research Papers Yi Li University of Texas at Dallas, Hridya Dhulipala University of Texas at Dallas, Aashish Yadavally University of Texas at Dallas, Xiaokai Rong University of Texas at Dallas, Shaohua Wang Central University of Finance and Economics, Tien N. Nguyen University of Texas at Dallas DOI | ||
14:30 20mTalk | Revisiting Optimization-Resilience Claims in Binary Diffing Tools: Insights from LLVM Peephole Optimization Analysis Research Papers Xiaolei Ren Macau University of Science and Technology, Mengfei Ren University of Alabama in Huntsville, Jeff Yu Lei University of Texas at Arlington, Jiang Ming Tulane University, USA DOI | ||
14:50 20mTalk | DyLin: A Dynamic Linter for Python Research Papers Aryaz Eghbali University of Stuttgart, Felix Burk University of Stuttgart, Michael Pradel University of Stuttgart DOI Pre-print | ||
15:10 10mTalk | Do you have 5 min? Improving Call Graph Analysis with Runtime Information Ideas, Visions and Reflections Jordan Samhi University of Luxembourg, Luxembourg, Marc Miltenberger Fraunhofer SIT; ATHENE, Marco Alecci University of Luxembourg, Steven Arzt Fraunhofer SIT; ATHENE, Tegawendé F. Bissyandé University of Luxembourg, Jacques Klein University of Luxembourg |
This room is located outside Clarion Hotel
This room is located in the Pirsenteret (The Pier Center) convention center. It is just outside the hotel, on the back, towards the fjord.
You should be able to go through the emergency exit at Clarion, just on the side of the Cosmos 3 wing, which will be bring you close to Pirsenteret.
The entrance to the center is from here:
https://maps.app.goo.gl/dU3qH6kAimXGBNHe7
Once inside, go all straight and you will find signage to reach the room. The room is known as room 150 inside the center.