Precise String Analysis for Java']JavaScript Programs Using Automata

被引:1
作者
Almashfi, Nabil [1 ]
Lu, Lunjin [1 ]
Picker, Koby [1 ]
Maldonado, Christian [1 ]
机构
[1] Oakland Univ, Rochester, MI 48063 USA
来源
2019 8TH INTERNATIONAL CONFERENCE ON SOFTWARE AND COMPUTER APPLICATIONS (ICSCA 2019) | 2019年
关键词
!text type='Java']Java[!/text]Script; static analysis; abstract interpretation; string analysis; finite state automata;
D O I
10.1145/3316615.3316662
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Existing static analyzers for JavaScript use constant propagation domains to analyze strings. The simplicity of these domains results in a huge loss of precision when dealing with features such as dynamic property access. This paper presents a string analysis for the full JavaScript language based on abstract interpretation. The analysis uses finite state automata to track all possible strings a variable might hold during execution. We present an empirical performance and precision evaluation on some JavaScript benchmarks and show that the analysis achieves a higher level of precision especially when handling dynamic property access.
引用
收藏
页码:159 / 166
页数:8
相关论文
共 13 条
[1]   Combining String Abstract Domains for Java']JavaScript Analysis: An Evaluation [J].
Amadini, Roberto ;
Jordan, Alexander ;
Gange, Graeme ;
Gauthier, Francois ;
Schachte, Peter ;
Sondergaard, Harald ;
Stuckey, Peter J. ;
Zhang, Chenyi .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I, 2017, 10205 :41-57
[2]  
Bartzis C, 2004, LECT NOTES COMPUT SC, V3114, P321
[3]  
Changhee Park, 2017, ACM SIGPLAN Notices, V52, P25, DOI 10.1145/3093334.2989228
[4]  
Choi TH, 2006, LECT NOTES COMPUT SC, V4279, P374
[5]  
Christensen AS, 2003, LECT NOTES COMPUT SC, V2694, P1
[6]  
Costantini G, 2011, LECT NOTES COMPUT SC, V6991, P505, DOI 10.1007/978-3-642-24559-6_34
[7]  
Cousot Patrick, 1977, P 4 ACM SIGACT SIGPL, P238, DOI DOI 10.1145/512950.512973
[8]  
Jensen SH, 2009, LECT NOTES COMPUT SC, V5673, P238, DOI 10.1007/978-3-642-03237-0_17
[9]   JS']JSAI: A Static Analysis Platform for Java']JavaScript [J].
Kashyap, Vineeth ;
Dewey, Kyle ;
Kuefner, Ethan A. ;
Wagner, John ;
Gibbons, Kevin ;
Sarracino, John ;
Wiedermann, Ben ;
Hardekopf, Ben .
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, :121-132
[10]  
Lee Hongki, 2012, INT WORKSH FDN OBJ O