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
    Amadini, Roberto
    Jordan, Alexander
    Gange, Graeme
    Gauthier, Francois
    Schachte, Peter
    Sondergaard, Harald
    Stuckey, Peter J.
    Zhang, Chenyi
    [J]. 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
    Kashyap, Vineeth
    Dewey, Kyle
    Kuefner, Ethan A.
    Wagner, John
    Gibbons, Kevin
    Sarracino, John
    Wiedermann, Ben
    Hardekopf, Ben
    [J]. 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