Automated bug localization in JIT compilers

Heui Chan Lim, Saumya Debray

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publicationVEE 2021 - Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
EditorsBen L. Titzer, Harry Xu, Irene Zhang
PublisherAssociation for Computing Machinery, Inc
Pages153-164
Number of pages12
ISBN (Electronic)9781450383943
DOIs
StatePublished - Apr 16 2021
Event17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2021 - Virtual, Online, United States
Duration: Apr 16 2021Apr 16 2021

Publication series

NameVEE 2021 - Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments

Conference

Conference17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2021
Country/TerritoryUnited States
CityVirtual, Online
Period4/16/214/16/21

Keywords

  • Bug localization
  • Debugging
  • Dynamic Code
  • Program Analysis
  • Self-Modifying Code

ASJC Scopus subject areas

  • Artificial Intelligence
  • Software

Fingerprint

Dive into the research topics of 'Automated bug localization in JIT compilers'. Together they form a unique fingerprint.

Cite this