Seeing Through the FFI: Analyzing Native Code in Dynamic Languages
Dynamic languages such as Python, Ruby, or R rely heavily on native C/C++ functions using a foreign function interface. While they significantly speed up baseline performance, these functions are opaque to a Just-in-time compiler — parameter and return types, side effects, and argument counts are not exposed for optimization. We propose an approach that analyzes native code in the context of the host VM, opening up the semantics of native code without the need for manual transformation. From this we identify three use cases: a) inferring precise types and side effects for JIT specialization, b) modeling the dynamic language semantics in the same IR, enabling whole-program analysis, and c) extracting specialized native code slices that only capture the main logic for subsets of inputs.
Mon 29 JunDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
16:00 - 17:30 | Presentation Session 3, Industrial Keynote and ClosingDoctoral Symposium at I.2.01 Chair(s): Annette Bieniusa RPTU Kaiserslautern-Landau, Pietro Ferrara Ca’ Foscari University of Venice | ||
16:00 30mTalk | Seeing Through the FFI: Analyzing Native Code in Dynamic Languages Doctoral Symposium Filip Riha Czech Technical University | ||
16:30 45mIndustry talk | Between Academia and Industry: 15 Years as a Researcher Doctoral Symposium Charlotte Herzeel imec | ||
17:15 15mDay closing | Closing session Doctoral Symposium | ||