50 likes | 172 Vues
This document outlines the issues encountered during a team meeting on February 9, 2012, regarding class hierarchy flattening with Soot, a Java analysis tool. The primary problem identified is that the transformed programs typically only function correctly for specified inputs due to the unsound nature of certain analyses. Various tools such as TamiFlex and DaCapo are utilized, while several classes fail under Soot's transformation processes. Notable issues include a type assigner failure, memory errors in call graph construction, and runtime loading of phantom classes. Solutions and workarounds for these challenges are discussed.
E N D
Team meetingFeb 9, 2012 ChristopheFoket
Classhierarchyflattening Developer Attacker
Toolflow dacapo.jar Problem:transformed program usuallyonlyworksforspecified input as analyses are unsound. input obfuscator small default VM soot .class TamiFlex refl.log input .class
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
TODO • 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 • pmd: phantom class loaded at run time • jython: make soot aware of getSuperClass