Reference Abstract Domains and Applications to String Analysis

被引:8
作者
Amadini, Roberto [1 ]
Gange, Graeme [1 ]
Gauthier, Francois [2 ]
Jordan, Alexander [2 ]
Schachte, Peter [1 ]
Sondergaard, Harald [1 ]
Stuckey, Peter J. [1 ]
Zhang, Chenyi [2 ,3 ]
机构
[1] Univ Melbourne, Sch Comp & Informat Syst, Melbourne, Vic 3010, Australia
[2] Oracle Labs, Brisbane, Qld, Australia
[3] Jinan Univ, Coll Informat Sci & Technol, Guangzhou, Guangdong, Peoples R China
基金
澳大利亚研究理事会;
关键词
Compendex;
D O I
10.3233/FI-2018-1650
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Abstract interpretation is a well established theory that supports reasoning about the run-time behaviour of programs. It achieves tractable reasoning by considering abstractions of run-time states, rather than the states themselves. The chosen set of abstractions is referred to as the abstract domain. We develop a novel framework for combining (a possibly large number of) abstract domains. It achieves the effect of the so-called reduced product without requiring a quadratic number of functions to translate information among abstract domains. A central notion is a reference domain, a medium for information exchange. Our approach suggests a novel and simpler way to manage the integration of large numbers of abstract domains. We instantiate our framework in the context of string analysis. Browser-embedded dynamic programming languages such as JavaScript and PHP encourage the use of strings as a universal data type for both code and data values. The ensuing vulnerabilities have made string analysis a focus of much recent research. String analysis tends to combine many elementary string abstract domains, each designed to capture a specific aspect of strings. For this instance the set of regular languages, while too expensive to use directly for analysis, provides an attractive reference domain, enabling the efficient simulation of reduced products of multiple string abstract domains.
引用
收藏
页码:297 / 326
页数:30
相关论文
共 37 条
  • [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] [Anonymous], 2013, Introduction to the Theory of Computation
  • [3] [Anonymous], 2014, THESIS U MILANO BHIC
  • [4] [Anonymous], LOG PROGR P JOINT IN
  • [5] [Anonymous], P 19 INT WORKSH FDN
  • [6] [Anonymous], P ILPS 93 WORKSH GLO
  • [7] [Anonymous], 2010, FRAMEWORK COMBINING
  • [8] [Anonymous], 2011, Algorithms
  • [9] Bartzis C, 2004, LECT NOTES COMPUT SC, V3114, P321
  • [10] Bisht P, 2011, PROCEEDINGS OF THE 18TH ACM CONFERENCE ON COMPUTER & COMMUNICATIONS SECURITY (CCS 11), P575