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 条
  • [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
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I, 2017, 10205 : 41 - 57
  • [2] Precise String Analysis for Java']JavaScript Programs Using Automata
    Almashfi, Nabil
    Lu, Lunjin
    Picker, Koby
    Maldonado, Christian
    2019 8TH INTERNATIONAL CONFERENCE ON SOFTWARE AND COMPUTER APPLICATIONS (ICSCA 2019), 2019, : 159 - 166
  • [3] Purity analysis for Java']JavaScript through abstract interpretation
    Nicolay, Jens
    Stievenart, Quentin
    De Meuter, Wolfgang
    De Roover, Coen
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2017, 29 (12)
  • [4] An Analysis of the Dynamic Behavior of Java']JavaScript Programs
    Richards, Gregor
    Lebresne, Sylvain
    Burg, Brian
    Vitek, Jan
    ACM SIGPLAN NOTICES, 2010, 45 (06) : 1 - 12
  • [5] A Parallel Abstract Interpreter for Java']JavaScript
    Dewey, Kyle
    Kashyap, Vineeth
    Hardekopf, Ben
    2015 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2015, : 34 - 45
  • [6] Fully Abstract Compilation to Java']JavaScript
    Fournet, Cedric
    Swamy, Nikhil
    Chen, Juan
    Dagand, Pierre-Evariste
    Strub, Pierre-Yves
    Livshits, Benjamin
    ACM SIGPLAN NOTICES, 2013, 48 (01) : 371 - 383
  • [7] Analysis of Java']JavaScript Programs: Challenges and Research Trends
    Sun, Kwangwon
    Ryu, Sukyoung
    ACM COMPUTING SURVEYS, 2017, 50 (04)
  • [8] Reference Abstract Domains and Applications to String Analysis
    Amadini, Roberto
    Gange, Graeme
    Gauthier, Francois
    Jordan, Alexander
    Schachte, Peter
    Sondergaard, Harald
    Stuckey, Peter J.
    Zhang, Chenyi
    FUNDAMENTA INFORMATICAE, 2018, 158 (04) : 297 - 326
  • [9] Converting Physlets and Other Java']Java Programs to Java']JavaScript
    Christian, Wolfgang
    Belloni, Mario
    Hanson, Robert M.
    Mason, Bruce
    Barbato, Lyle
    PHYSICS TEACHER, 2021, 59 (04): : 278 - 281
  • [10] Towards Specializing Java']JavaScript Programs
    Thiemann, Peter
    PERSPECTIVES OF SYSTEM INFORMATICS, PSI 2014, 2015, 8974 : 320 - 334