Lune

FSE2021Top-tier venue

Accelerating JavaScript static analysis via dynamic shortcuts

Joonyoung Park, Jihyeok Park, Dongjun Youn, Sukyoung Ryu

2021Year
15Citations
10Top-tier citations

Abstract

JavaScript has become one of the most widely used programming languages for web development, server-side programming, and even micro-controllers for IoT. However, its extremely functional and dynamic features degrade the performance and precision of static analysis. Moreover, the variety of built-in functions and host environments requires excessive manual modeling of their behaviors. To alleviate these problems, researchers have proposed various ways to leverage dynamic analysis during JavaScript static analysis. However, they do not fully utilize the high performance of dynamic analysis and often sacrifice the soundness of static analysis.

In this paper, we present dynamic shortcuts, a new technique to flexibly switch between abstract and concrete execution during JavaScript static analysis in a sound way. It can significantly improve the analysis performance and precision by using highlyoptimized commercial JavaScript engines and lessen the modeling efforts for opaque code. We actualize the technique via SAFE DS , an extended combination of SAFE and Jalangi, a static analyzer and a dynamic analyzer, respectively. We evaluated SAFE DS using 269 official tests of Lodash 4 library. Our experiment shows that SAFE DS is 7.81x faster than the baseline static analyzer, and it improves the precision to reduce failed assertions by 12.31% on average for 22 opaque functions.

• Software and its engineering → Software testing and debugging.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext a52bb8eb-a452-4290-8ce8-574c51bfefa8

Cited by top-tier papers10

Ask how each one uses it

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines