Accelerating JavaScript Static Analysis via Dynamic Shortcuts
Thu 26 Aug 2021 04:20 - 04:30 - Analysis—Programming Languages Chair(s): Ramy Shahin
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 highly-optimized commercial JavaScript engines and lessen the modeling efforts for opaque code. We actualize the technique via $\text{SAFE}\textsf{DS}$, an extended combination of $\text{SAFE}$ and Jalangi, a static analyzer and a dynamic analyzer, respectively. We evaluated $\text{SAFE}\textsf{DS}$ using 269 official tests of Lodash 4 library. Our experiment shows that $\text{SAFE}_\textsf{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.
Wed 25 AugDisplayed time zone: Athens change
16:00 - 17:00 | Analysis—Programming LanguagesResearch Papers / Industry Papers +12h Chair(s): Santanu Dash University of Surrey, Michael Pradel University of Stuttgart | ||
16:00 10mPaper | Automated Code Transformation for Context Propagation in Go Industry Papers Adam Welc Uber Technologies DOI | ||
16:10 10mPaper | Toward Efficient Interactions between Python and Native Libraries Research Papers Jialiang Tan College of William & Mary, Yu Chen College of William & Mary, Zhenming Liu College of William & Mary, Bin Ren College of William & Mary, Shuaiwen Leon Song University of Sydney, Xipeng Shen North Carolina State University, Xu Liu North Carolina State University, Oak Ridge National Laboratory, USA DOI | ||
16:20 10mPaper | Accelerating JavaScript Static Analysis via Dynamic Shortcuts Research Papers DOI | ||
16:30 30mLive Q&A | Q&A (Analysis—Programming Languages) Research Papers |
Thu 26 AugDisplayed time zone: Athens change
04:00 - 05:00 | Analysis—Programming LanguagesResearch Papers / Industry Papers Chair(s): Ramy Shahin University of Toronto | ||
04:00 10mPaper | Automated Code Transformation for Context Propagation in Go Industry Papers Adam Welc Uber Technologies DOI | ||
04:10 10mPaper | Toward Efficient Interactions between Python and Native Libraries Research Papers Jialiang Tan College of William & Mary, Yu Chen College of William & Mary, Zhenming Liu College of William & Mary, Bin Ren College of William & Mary, Shuaiwen Leon Song University of Sydney, Xipeng Shen North Carolina State University, Xu Liu North Carolina State University, Oak Ridge National Laboratory, USA DOI | ||
04:20 10mPaper | Accelerating JavaScript Static Analysis via Dynamic Shortcuts Research Papers DOI | ||
04:30 30mLive Q&A | Q&A (Analysis—Programming Languages) Research Papers |