Affiliation:
1. KAIST, South Korea
2. Kangwon National University, South Korea
Abstract
jQuery is the most popular JavaScript library but the state-of-the-art static analyzers for JavaScript applications fail to analyze simple programs that use jQuery. In this paper, we present a novel abstract string domain whose elements are simple regular expressions that can represent prefix, infix, and postfix substrings of a string and even their sets. We formalize the new domain in the abstract interpretation framework with abstract models of strings and objects commonly used in the existing JavaScript analyzers. For practical use of the domain, we present polynomial-time inclusion decision rules between the regular expressions and prove that the rules exactly capture the actual inclusion relation. We have implemented the domain as an extension of the open-source JavaScript analyzer, SAFE, and we show that the extension significantly improves the scalability and precision of the baseline analyzer in analyzing programs that use jQuery.
Funder
National Research Foundation of Korea
Samsung Electronics
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference24 articles.
1. ECMAScript Language Specification. Edition 5.1 2011. ECMAScript Language Specification. Edition 5.1 2011.
2. Determinacy in static analysis for jQuery
3. A Practical String Analyzer by the Widening Approach
Cited by
23 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Tarsis: An effective automata‐based abstract domain for string analysis;Journal of Software: Evolution and Process;2024-02-14
2. Construction of Interactive Platform for Audio Reading From the Perspective of All Media Based on Vue Framework;2023 IEEE 12th International Conference on Communication Systems and Network Technologies (CSNT);2023-04-08
3. A Survey on String Constraint Solving;ACM Computing Surveys;2023-01-31
4. Automatically deriving JavaScript static analyzers from specifications using Meta-level static analysis;Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2022-11-07
5. Relational String Abstract Domains;Lecture Notes in Computer Science;2022