slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SOOT PowerPoint Presentation
Download Presentation
SOOT

Loading in 2 Seconds...

play fullscreen
1 / 7

SOOT - PowerPoint PPT Presentation


  • 216 Views
  • Uploaded on

SOOT. By Joe Palmer Information taken from http://www.sable.mcgill.ca/soot/tutorial/pldi03/tutorial.pdf. General Overview. Developed by Sable Research Group out of McGill University in 1996-1997 Used to optimize Java Bytecode 4 source languages 4 intermediate representations used.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SOOT' - gella


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

SOOT

By Joe Palmer

Information taken from http://www.sable.mcgill.ca/soot/tutorial/pldi03/tutorial.pdf

general overview
General Overview
  • Developed by Sable Research Group out of McGill University in 1996-1997
  • Used to optimize Java Bytecode
  • 4 source languages
  • 4 intermediate representations used
sources languages
Sources Languages
  • Primarily takes Java Source as its input
  • Can also take:
    • SML
    • Scheme
    • Eiffel
i r s
I.R.’s
  • Baf:
      • Streamlined, stack-based representation of bytecode
      • Abstracts type dependent variations of expressions into a single expression
  • Jimple:
      • Stack-less, typed, 3-Address representation of bytecode
      • Mix between java source and java bytecode
      • Linearization of a single expression into 3 separate statements
        • Only refers to 3 local vars or conts at once
      • Only 15 jimple instructions are used
        • Compared to 200 possible instructions in java bytecode!
  • Shimple:
      • SSA-form version of Jimple
      • Each local var has a single static point of definition (never reassign)
      • Uses Phi-Nodes for control flow
  • Grimp:
      • Similar to Jimple but allows trees of expressions together with a representation of a “new” operator
      • Expressions are “aggregated”

main IR used!!

analysis
Analysis
  • Tested using 8 SPECjvm98 benchmarks running on JDK 1.2
    • Showed 8% improvement when optimized bytecode is run using an interpreter
    • 21% improvement when optimized bytecode is run using a JIT compiler
  • Used in research with traditional compiler analyses, analyses for software engineering, analysis for distributed programs, and software verification
    • Ptolemy Project
    • Bandera
    • Canvas Project
strengths and future enhancements
Strengths and Future Enhancements
  • Used as a common infrastructure with which researchers could compare common analyses
  • Enhancements coming:
      • Attribute management
      • Attribute legends
      • Improved visual attributes in source
      • Interactive CFGs
      • Growable graphical callgraph
      • Making conversion from Java to Jimple more stable and complete