Completeness of Abstract Domains for String Analysis of Java']JavaScript Programs

被引:6
|
作者
Arceri, Vincenzo [1 ]
Olliaro, Martina [2 ,3 ]
Cortesi, Agostino [2 ]
Mastroeni, Isabella [1 ]
机构
[1] Univ Verona, Verona, Italy
[2] Ca Foscari Univ Venice, Venice, Italy
[3] Masaryk Univ Brno, Brno, Czech Republic
关键词
String abstract domains; Abstract interpretation completeness; String analysis; STATIC ANALYSIS; SMT SOLVER;
D O I
10.1007/978-3-030-32505-3_15
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Completeness in abstract interpretation is a well-known property, which ensures that the abstract framework does not lose information during the abstraction process, with respect to the property of interest. Completeness has been never taken into account for existing string abstract domains, due to the fact that it is difficult to prove it formally. However, the effort is fully justified when dealing with string analysis, which is a key issue to guarantee security properties in many software systems, in particular for JavaScript programs where poorly managed string manipulating code often leads to significant security flaws. In this paper, we address completeness for the main JavaScript-specific string abstract domains, we provide suitable refinements of them, and we discuss the benefits of guaranteeing completeness in the context of abstract-interpretation based string analysis of dynamic languages.
引用
收藏
页码:255 / 272
页数:18
相关论文
共 50 条
  • [41] Abstract domains for reordering CLP (RLin) programs
    Ramachandran, V
    Van Hentenryck, P
    Cortesi, A
    JOURNAL OF LOGIC PROGRAMMING, 2000, 42 (03): : 217 - 256
  • [42] Dynamic Analysis Using Java']JavaScript Proxies
    Christophe, Laurent
    De Roover, Coen
    De Meuter, Wolfgang
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 813 - 814
  • [43] Type Refinement for Static Analysis of Java']JavaScript
    Kashyap, Vineeth
    Sarracino, John
    Wagner, John
    Wiedermann, Ben
    Hardekopf, Ben
    ACM SIGPLAN NOTICES, 2014, 49 (02) : 17 - 26
  • [44] Analysis and Identification of Malicious Java']JavaScript Code
    Fraiwan, Mohammad
    Al-Salman, Rami
    Khasawneh, Natheer
    Conrad, Stefan
    INFORMATION SECURITY JOURNAL, 2012, 21 (01): : 1 - 11
  • [45] Conventionality Analysis of Array Objects in Java']JavaScript
    Younang, Astrid
    Lu, Lunjin
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, : 561 - 562
  • [46] Modularly Combining Numeric Abstract Domains with Points-to Analysis, and a Scalable Static Numeric Analyzer for Java']Java
    Fu, Zhoulai
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION: (VMCAI 2014), 2014, 8318 : 282 - 301
  • [47] Fixpoint Reuse for Incremental Java']JavaScript Analysis
    Nichols, Lawton
    Emre, Mehmet
    Hardekopf, Ben
    SOAP'19: PROCEEDINGS OF THE 8TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON STATE OF THE ART IN PROGRAM ANALYSIS, 2019, : 2 - 7
  • [48] Completeness of string analysis for dynamic languages
    Arceri, Vincenzo
    Olliaro, Martina
    Cortesi, Agostino
    Mastroeni, Isabella
    INFORMATION AND COMPUTATION, 2021, 281
  • [49] String Analysis as an Abstract Interpretation
    Kim, Se-Won
    Choe, Kwang-Moo
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2011, 6538 : 294 - 308
  • [50] String Analysis for Java']Java and Android Applications
    Li, Ding
    Lyu, Yingjun
    Wan, Mian
    Halfond, William G. J.
    2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 661 - 672