Many widely-deployed modern programming systems use just-in-time (JIT) compilers to improve performance. The size and complexity of JIT-based systems, combined with the dynamic nature of JIT-compiler optimizations, make it challenging to locate and fix JIT compiler bugs quickly. At the same time, JIT compiler bugs can result in exploitable security vulnerabilities, making rapid bug localization important. Existing work on automated bug localization focuses on static code, i.e., code that is not generated at runtime, and so cannot handle bugs in JIT compilers that generate incorrect code during optimization. This paper describes an approach to automated bug localization in JIT compilers, down to the level of distinct optimization phases, starting with a single initial Proof-of-Concept (PoC) input that demonstrates the bug. Experiments using a prototype implementation of our ideas on Google’s V8 JavaScript interpreter and TurboFan JIT compiler demonstrates that it can successfully identify buggy optimization phases.
Fri 16 AprDisplayed time zone: Pacific Time (US & Canada) change
10:00 - 11:30 | |||
10:00 30mTalk | Automatically Exploiting the Memory Hierarchy of GPUs through Just-in-Time Compilation Research Papers Michail Papadimitriou University of Manchester, UK, Juan Fumero University of Manchester, UK, Athanasios Stratikopoulos The University of Manchester, Christos Kotselidis KTM Innovation / The University of Manchester DOI | ||
10:30 30mTalk | Multiple-Tasks on Multiple-Devices (MTMD): Exploiting Concurrency in Heterogeneous Managed Runtimes Research Papers Michail Papadimitriou University of Manchester, UK, Eleni Markou , Juan Fumero University of Manchester, UK, Athanasios Stratikopoulos The University of Manchester, Florin Blanaru , Christos Kotselidis KTM Innovation / The University of Manchester DOI | ||
11:00 30mTalk | Automated Bug Localization in JIT Compilers Research Papers DOI |