1 / 7

Class Hierarchy Flattening Challenges in Soot Analysis: Insights from DaCapo Jar Toolflow

In the February 16, 2012 team meeting led by Christophe Foket, we discussed the limitations of the class hierarchy flattening in the DaCapo Jar toolflow. The transformed programs often only succeed on specific inputs due to unsound analyses, specifically with Soot's inability to parse certain classes. We identified issues such as memory constraints in call graph construction, improper access to protected data, and low transformation rates in significant benchmarks like tradebeans and tradesoap. This session outlined ongoing tasks for addressing these challenges.

makani
Télécharger la présentation

Class Hierarchy Flattening Challenges in Soot Analysis: Insights from DaCapo Jar Toolflow

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Team meetingFeb 16, 2012 ChristopheFoket

  2. Classhierarchyflattening Developer Attacker

  3. Toolflow dacapo.jar Problem:transformed program usuallyonlyworksforspecified input as analyses are unsound. input obfuscator small default VM soot .class TamiFlex refl.log input .class

  4. Toolflow dacapo.jar Analyses are sound, since all classes are considered. Sootfails to parsesome classes. (7/14 bmstransformed) input obfuscator dacapo.jar small default VM soot TamiFlex refl.log input .class

  5. TODO (past week) • h2: soot’s type assigner fails • batik: call graph construction out of memory • xalan: bad access to protected data • tradebeans & tradesoap: work, but only small percentage of classes transformed by soot • fop: phantom class loaded at run time • jython: make soot aware of getSuperClass

  6. TODO (past week) • h2: soot’s type assigner fails • batik: call graph construction out of memory • xalan: bad access to protected data • tradebeans & tradesoap: work, but only small percentage of classes transformed by soot • fop: phantom class loaded at run time • jython: make soot aware of getSuperClass • VirtualBox image: lab sessions compilers

  7. TODO (coming week) • h2: use different runtime environment • tradebeans & tradesoap: huge benchmarks (18000+ classes), transformation really slow, not finished => speed up • jython: soot is aware of getSuperClass, but needs testing

More Related