• DocumentCode
    1967237
  • Title

    Model-Based Static Source Code Analysis of Java Programs with Applications to Android Security

  • Author

    Lu, Zheng ; Mukhopadhyay, Supratik

  • fYear
    2012
  • fDate
    16-20 July 2012
  • Firstpage
    322
  • Lastpage
    327
  • Abstract
    We combine static analysis techniques with model- based deductive verification using SMT solvers to provide a framework that, given an analysis aspect of the source code, automatically generates an analyzer capable of inferring information about that aspect. The analyzer is generated by translating the collecting semantics of a program to a "marked" formula in first order logic over multiple underlying theories. The "marking" can be thought of as a set of holes or contexts corresponding to the "uninterpreted" APIs invoked in the program. Just as a program imports packages and uses methods from classes in those packages, we import the semantics of the API invocations as first order logic assertions. These assertions constitute the models used by the analyzer. Logical specification of the desired program behavior (rather its negation) is incorporated as a first order logic formula. An SMT-LIB formula solver treats the combined formula as a "constraint" and "solves" it. The "solved form" can be used to identify logical (security) errors in Java (Android) programs. Security properties of Android are represented as constraints and the analysis aims to show that these constraints are respected.
  • Keywords
    Java; application program interfaces; formal logic; formal specification; program diagnostics; program verification; programming language semantics; security of data; API; Android security; Java program; SMT-LIB formula solver; first order logic assertion; logical specification; model-based deductive verification; model-based static source code analysis; program behavior; program semantics; security properties; Analytical models; Androids; Humanoid robots; Java; Semantics; Smart phones; Software; Android Security; SMT; Static Code Analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications Conference (COMPSAC), 2012 IEEE 36th Annual
  • Conference_Location
    Izmir
  • ISSN
    0730-3157
  • Print_ISBN
    978-1-4673-1990-4
  • Electronic_ISBN
    0730-3157
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2012.43
  • Filename
    6340164