Using datalog with binary decision diagrams for program analysis

被引:0
|
作者
Whaley, J [1 ]
Avots, D [1 ]
Carbin, M [1 ]
Lam, MS [1 ]
机构
[1] Stanford Univ, Dept Comp Sci, Stanford, CA 94305 USA
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many problems in program analysis can be expressed naturally and concisely in a declarative language like Datalog. This makes it easy to specify new analyses or extend or compose existing analyses. However, previous implementations of declarative languages per-form poorly compared with traditional implementations. This paper describes bddbddb, a BDD-Based Deductive DataBase, which implements the declarative language Datalog with stratified negation, totally-ordered finite domains and comparison operators. bddbddb uses binary decision diagrams (BDDs) to efficiently represent large relations. BDD operations take time proportional to the size of the data structure, not the number of tuples in a relation, which leads to fast execution times. bddbddb is an effective tool for implementing a large class of program analyses. We show that a context-insensitive points-to analysis implemented with bddbddb is about twice as fast as a carefully hand-tuned version. The use of BDDs also allows us to solve heretofore unsolved problems, like context-sensitive pointer analysis for large programs.
引用
收藏
页码:97 / 118
页数:22
相关论文
共 50 条
  • [1] Bayesian analysis using binary decision diagrams
    Andrews, J. D.
    Ansell, J.
    Ma, P.
    Phillips, M.
    [J]. SAFETY AND RELIABILITY FOR MANAGING RISK, VOLS 1-3, 2006, : 855 - +
  • [2] Event-tree analysis using binary decision diagrams
    Andrews, JD
    Dunnett, SJ
    [J]. IEEE TRANSACTIONS ON RELIABILITY, 2000, 49 (02) : 230 - 238
  • [3] A fault tree analysis strategy using binary decision diagrams
    Reay, KA
    Andrews, JD
    [J]. RELIABILITY ENGINEERING & SYSTEM SAFETY, 2002, 78 (01) : 45 - 56
  • [4] Factorization using binary decision diagrams
    Håvard Raddum
    Srimathi Varadharajan
    [J]. Cryptography and Communications, 2019, 11 : 443 - 460
  • [5] Factorization using binary decision diagrams
    Raddum, Havard
    Varadharajan, Srimathi
    [J]. CRYPTOGRAPHY AND COMMUNICATIONS-DISCRETE-STRUCTURES BOOLEAN FUNCTIONS AND SEQUENCES, 2019, 11 (03): : 443 - 460
  • [6] Using binary decision diagrams for representation and analysis of communication protocols
    Sisto, R
    [J]. COMPUTER NETWORKS, 2000, 32 (01) : 81 - 98
  • [7] Using datalog for fast and easy program analysis
    Smaragdakis, Yannis
    Bravenboer, Martin
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2011, 6702 LNCS : 245 - 251
  • [8] Using Datalog for Fast and Easy Program Analysis
    Smaragdakis, Yannis
    Bravenboer, Martin
    [J]. DATALOG RELOADED: FIRST INTERNATIONALWORKSHOP, DATALOG 2010, 2011, 6702 : 245 - 251
  • [9] Analysis of a multistage interconnection network using binary decision diagrams (BDD)
    Chiu, J
    Dugan, JB
    [J]. 15TH SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, PROCEEDINGS, 1996, : 34 - 43
  • [10] Outlier detection using binary decision diagrams
    Kutsuna, Takuro
    Yamamoto, Akihiro
    [J]. DATA MINING AND KNOWLEDGE DISCOVERY, 2017, 31 (02) : 548 - 572