DUA-forensics: a fine-grained dependence analysis and instrumentation framework based on Soot

  • Authors:
  • Raul Santelices;Yiji Zhang;Haipeng Cai;Siyuan Jiang

  • Affiliations:
  • University of Notre Dame;University of Notre Dame;University of Notre Dame;University of Notre Dame

  • Venue:
  • Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysis
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe DUA-Forensics, our open-source Java-bytecode program analysis and instrumentation system built on top of Soot. DUA-Forensics has been in development for more than six years and has supported multiple research projects on efficient monitoring, test-suite augmentation, fault localization, symbolic execution, and change-impact analysis. Three core features of Soot have proven essential: the Java bytecode processor, the Jimple intermediate representation, and the API to access and manipulate Jimple programs. On top of these foundations, DUA-Forensics offers a number of features of potential interest to the Java-analysis community, including (1) a layer that facilitates the instrumentation of Jimple code, (2) a library modeling system for efficient points-to, data-flow, and symbolic analysis, and (3) a fine-grained dependence analysis component. These features have made our own research more productive, reliable, and effective.