• DocumentCode
    3718708
  • Title

    A Datalog Source-to-Source Translator for Static Program Analysis: An Experience Report

  • Author

    Bernhard Scholz;Kostyantyn Vorobyov;Padmanabhan Krishnan;Till Westmann

  • Author_Institution
    Oracle Labs., Australia
  • fYear
    2015
  • Firstpage
    28
  • Lastpage
    37
  • Abstract
    Static program analysis has many applications including bug checking for large scale code that requires a points-to analysis. To express static program analysis frameworks concisely, it is advantageous to employ a domain-specific language. In the last two decades, Data log has emerged as a domain-specific language for static program analysis. However, existing Data log systems have problems solving large scale code with millions of program variables. This work reports on techniques that translate a Data log program to SQL queries, which are executed on a relational database system. The advantage of a relational database system as an execution platform is the effective use of memory and disks. Further, we can also use an off-the shelf tool to execute the SQL queries. In order to achieve performance, we explore some of the design choices for a source-to-source translation from Data log to SQL that implement stratified negations, totally ordered domains, and comparisons. For each design point, we explain how Data log can be efficiently translated to SQL using the semi-naive evaluation approach. We report the results of our experiments using large data-sets including the OpenJDK7-b147 dataset for points-to, which guided us in the design of our translation schemes.
  • Keywords
    "Engines","Resource management","Software engineering","Electronic mail","Relational databases","Australia","Semantics"
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Conference (ASWEC), 2015 24th Australasian
  • ISSN
    1530-0803
  • Type

    conf

  • DOI
    10.1109/ASWEC.2015.15
  • Filename
    7365791