Abstract Domains for Type Juggling

被引:8
|
作者
Arceri V. [1 ]
Maffeis S. [2 ]
机构
[1] Department of Computer Science, University of Verona
[2] Department of Computing, Imperial College, London
基金
英国工程与自然科学研究理事会;
关键词
Abstract interpretation; PHP; Static analysis; Type conversions;
D O I
10.1016/j.entcs.2017.02.003
中图分类号
学科分类号
摘要
Web scripting languages, such as PHP and JavaScript, provide a wide range of dynamic features that make them both flexible and error-prone. In order to prevent bugs in web applications, there is a sore need for powerful static analysis tools. In this paper, we investigate how Abstract Interpretation may be leveraged to provide a precise value analysis providing rich typing information that can be a useful component for such tools. In particular, we define the formal semantics for a core of PHP that illustrates type juggling, the implicit type conversions typical of PHP, and investigate the design of abstract domains and operations that, while still scalable, are expressive enough to cope with type juggling. We believe that our approach can also be applied to other languages with implicit type conversions. © 2017 The Author(s)
引用
收藏
页码:41 / 55
页数:14
相关论文
共 50 条
  • [41] Lifting abstract interpreters to quantified logical domains
    Gulwani, Sumit
    McCloskey, Bill
    Tiwari, Ashish
    ACM SIGPLAN NOTICES, 2008, 43 (01) : 235 - 246
  • [42] Abstract domains for sharing analysis by optimal semantics
    Scozzari, F
    STATIC ANALYSIS, 2000, 1824 : 397 - 412
  • [43] Pluggable abstract domains for analyzing embedded software
    Cooprider, Nathan
    Regehr, John
    ACM SIGPLAN NOTICES, 2006, 41 (07) : 44 - 53
  • [44] Reduced Product Combination of Abstract Domains for Shapes
    Toubhans, Antoine
    Chang, Bor-Yuh Evan
    Rival, Xavier
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION (VMCAI 2013), 2013, 7737 : 375 - 395
  • [45] Descending chains and narrowing on template abstract domains
    Amato, Gianluca
    Di Maio, Simone Di Nardo
    Meo, Maria Chiara
    Scozzari, Francesca
    ACTA INFORMATICA, 2018, 55 (06) : 521 - 545
  • [46] Lifting Abstract Interpreters to Quantified Logical Domains
    Gulwani, Sumit
    McCloskey, Bill
    Tiwari, Ashish
    POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2008, : 235 - 246
  • [47] Invertible Linear Transforms of Numerical Abstract Domains
    Ranzato, Francesco
    Zanella, Marco
    STATIC ANALYSIS (SAS 2018), 2018, 11002 : 344 - 363
  • [48] 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
  • [49] JUGGLING WITH IT
    OBRIEN, T
    NEW SOCIETY, 1971, 18 (458): : 50 - 50
  • [50] ABSTRACT DATA TYPE
    ZOLLER, P
    ANGEWANDTE INFORMATIK, 1981, (10): : 429 - 431