Industry practice of JavaScript Dynamic Analysis on WeChat Mini-Programs
JavaScript is one of the most popular programming languages. WeChat Mini-Program is a large ecosystem of JavaScript applications that run on the WeChat platform. Millions of Mini-Programs are accessed by WeChat users every week. The performance and robustness of Mini-Programs are particularly important. Unfortunately, many Mini-Programs suffer from various defects and performance problems. Dynamic analysis is a useful technique to pinpoint application defects. However, due to the dynamic features of the JavaScript language and the complexity of the runtime environment, dynamic analysis techniques were rarely used to improve the quality of JavaScript applications running on industrial platforms such as WeChat Mini-Program. In this work, we report our experience of extending Jalangi, a dynamic analysis framework for JavaScript applications developed by academia, and applying the extended version, named WeJalangi, to diagnose defects in WeChat Mini-Programs. WeJalangi is compatible with existing dynamic analysis tools such as DLint and JITProf. We implemented a null pointer checker on WeJalangi and tested the tool’s usability on 152 open-source Mini-Programs. We also conducted a case study in Tencent by applying WeJalangi on six popular commercial Mini-Programs. In the case study, WeJalangi accurately located six null pointer issues and three of them haven’t been discovered previously. All of the reported defects have been already confirmed by developers and testers.
Thu 24 SepDisplayed time zone: (UTC) Coordinated Universal Time change
02:20 - 03:20 | Software Analysis (3)Research Papers / Industry Showcase at Kangaroo Chair(s): Rahul Purandare IIIT-Delhi | ||
02:20 20mTalk | CCGraph: a PDG-based code clone detector with approximate graph matching Research Papers Yue Zou Department of Computer Science and Technology, University of Science and Technology of China, Bihuan Ban School of Data Science, University of Science and Technology of China, Yinxing Xue , Yun Xu University of Science and Technology of China | ||
02:40 20mTalk | Towards Generating Thread-Safe Classes Automatically Research Papers Haichi Wang College of Intelligence and Computing, Tianjin University, Zan Wang Tianjin University, China, Jun Sun Singapore Management University, Shuang Liu Tianjin University, China, Ayesha Sadiq Monash University, Yuan-Fang Li Monash University | ||
03:00 20mTalk | Industry practice of JavaScript Dynamic Analysis on WeChat Mini-Programs Industry Showcase Yi Liu Southern University of Science and Technology, Jinhui Xie Tencent Inc., Jianbo Yang Tencent Inc., Shiyu Guo Tencent Inc., Yuetang Deng Tencent, Inc., Shuqing Li Southern University of Science and Technology, Yechang Wu Southern University of Science and Technology, Yepang Liu Southern University of Science and Technology |