Eric Bodden Current conditions in Darmstadt: Scattered Clouds, 20°C
20°C

Easy and efficient software verification
  • rss
  • Home
  • Research
    • Publications
    • Presentations
    • Past Research
      • Efficient Runtime Verification
      • Racer: Effective Race Detection Using AspectJ
      • Continuation-equivalent states (ICSE 2010)
      • Aspect-oriented programming and design
      • Visual specification languages
      • A denial-of-service attack on the Java bytecode verifier
  • Tools
    • TamiFlex – a tool suite for taming reflection
    • Clara: Compile-time Approximation of Runtime Analyses
    • RacerAJ (for race detection)
    • An introduction to Soot 2.2.5
    • Aspect-oriented approaches targeting the .NET Framework
  • Teaching
    • Automated Software Engineering
    • Software-Engineering Project
    • COMP 520
    • COMP 621
  • Legacy
    • Bad Sector Recovery on NTFS
    • Arithmetic Coding
    • PHP Scripts
  • About me
  • Photos

Soot 2.3.0 is available

Eric | June 3, 2008

image I am pleased to announce that Soot version 2.3.0 is now available.

This release contains the following additions and improvements:

  1. Integrated new JastAdd-based frontend with support for Java 5 source code. Thanks to Torbjorn Ekman for contributing his frontend and his implementation of Java2Jimple!
  2. At the very least if -validate is on, Soot now checks that @this is only assigned in the first statement of an instance method. This has always been an implicit assumption for Jimple code but up until now was not enforced.
  3. Integrated full support for preserving annotations in Jimple and writing them to bytecode. SOURCE level annotations are preserved if code is read from source and the flag -p jb preserve-source-annotations is given. (does not hold for package and local variable annotations) SOURCE level annotations are not written into bytecode by Soot. Annotations can easily be added to SootClass, SootMethod and SootField instances using the utility class AnnotationGenerator. Thanks to Will Benton!
  4. Java 5 Annotations for fields, classes, parameters and methods are now fully preserved in bytecode. Jasmin was changed to implement this support.
  5. Ben Bellamy from Oxford University contributed a new implementation for the type assigner. This is to be published under the title Efficient Local Type Inference at OOPSLA ’08. The new type assigner is usually faster (it is applied when processing bytecode), and sometimes more precise. In particular it should always infer the most narrow type possible. Ben has tested this code, and verified that it provides a typing that is at least as tight as the original algorithm (tighter in 2914 methods out of 295598) on a number of benchmarks. These are: abc-complete.jar, BlueJ, CSO (Scala code), Gant, Groovy, havoc.jar, Java 3D, jEdit, Java Grande Forum, Jigsaw, Jython, Kawa, rt.jar, Kawa, Scala and tools.jar. The mean execution time improvement is around 10 times, but for the longest methods (abc parser methods and havoc with >9000 statements) the improvement is between 200 and 500 times. There are new phase options in jb.tr that allow to switch back to the old type assigner or to compare both implementations. The command line option -use-old-type-assigner was removed. It used to enabled an even older version of the type assigner (based on bit vectors) that was commented out any way. I flagged the appropriate code as deprecated. It may be removed in future versions of Soot. Thanks Ben!

Also we incorporated fixes to numerous bugs. Thanks for reporting bugs and/or providing fixes!

You can find more information in the full change log.

Categories
Research Blog
Comments rss
Comments rss
Trackback
Trackback

« Descent of the Phoenix Lander Grand Prix’s up! »

Leave a Reply

Click here to cancel reply.

ISSTA

Welcome

Welcome to my website. Interested in my research? Click here for details or jump directly to my publications.

Pages

  • Research
    • Publications
    • Presentations
    • Past Research
      • Continuation-equivalent states (ICSE 2010)
      • Efficient Runtime Verification
      • Racer: Effective Race Detection Using AspectJ
      • Aspect-oriented programming and design
      • Visual specification languages
      • A denial-of-service attack on the Java bytecode verifier
  • Tools
    • TamiFlex – a tool suite for taming reflection
    • Clara: Compile-time Approximation of Runtime Analyses
    • RacerAJ (for race detection)
    • An introduction to Soot 2.2.5
    • Aspect-oriented approaches targeting the .NET Framework
  • Teaching
    • Automated Software Engineering
    • Software-Engineering Project
    • COMP 520
    • COMP 621
  • Legacy
    • Arithmetic Coding
    • Bad Sector Recovery on NTFS
    • PHP Scripts
  • About me

Categories & Feeds

  • Research Blog RSS Feed Icon (80)
  • Comments (RSS) RSS Feed Icon

Colleagues

  • Gregory Prokopski
  • Laurie Hendren
  • Nomair Naeem
  • Ondrej Lhotak
  • Patrick Lam
  • Programming Tools Group, Oxford
  • Sable lab, McGill
  • Software Technology Group, Darmstadt

Kitchensink

  • Conferences
  • My first patent: Method and system for performance profiling of software (pending)
  • Photos

Research projects

  • AspectBench Compiler (abc)
  • Clara
  • J-LO
  • Soot
  • Stratified aspects
  • TamiFlex

Service

  • AOSD 2006
  • AOSD 2007
  • AOSD 2010
  • AOSD 2011
  • Association of Alumni, Friends, and Supporters of the RWTH Aachen University in North America
  • ATVA 2008
  • ECOOP 2008 Doctoral Symposium
  • ECOOP 2010
  • FOAL 2010
  • ICSE 2010
  • IEEE Transactions on Software Engineering (TSE)
  • International Journal of Image and Graphics
  • ISSTA 2011
  • NFM 2011
  • OOPSLA 2008
  • OOPSLA 2010
  • PEPM 2008
  • PLDI 2006
  • PLDI 2008
  • RV 2007
  • RV 2009
  • RV 2010
  • SEFM 2005
  • SEFM 2008
  • Transactions on Software Engineering and Methodology (TOSEM)
  • VMIL 2008
  • VMIL 2009

Some other people I know

  • Adrian Colyer
  • Bruno Dufour
  • Dan North
  • Daniel Klink
  • Dave Thomas
  • Dean Wampler
  • Eric Tanter
  • Friedrich Steimann
  • Joachim Kneis
  • Klaus Havelund
  • Liz Keogh
  • Malte Clasen
  • Markus Schorn
  • Pascal Costanza
  • Patricia Jablonski
  • Philip Mayer
  • Ron Bodkin
  • Sven Wittig
  • Wiebke Berg

Some people not to confuse me with

  • Eric B. the terrorist
  • Eric Bodden the basketball player
  • Eric Bodden the chef who sunk
  • Master Sgt. Eric Bodden

Previous posts

June 2008
M T W T F S S
« May   Jul »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Tags

Alumni AOSD AspectJ Atlanta Blizzard Bug finding Clara COMP 621 Eclipse FSE Google ISSTA Java LinkedIn Mac McGill Microsoft Montreal Blog NASA OOPSLA Photos Politics Programming Quebec City Race detection Racer Random ranting Runtime verification RWTH Seattle Slides Snow storm Soot Soot Tutorial Static Analysis Strike TamiFlex TA strike Thesis tracematches Typestate Vacation Website Winter carnival Wordpress


rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox