[Soot-list] Creating mutants in Java classes

Marc-André Laverdière marc-andre.laverdiere-papineau at polymtl.ca
Thu Sep 26 09:32:08 EDT 2013


Hello,

There is nothing in place as far as I know. One challenge you may hit is
that the hierarchy objects (esp. FastHierarchy) are expensive to compute
and need to be updated every time a change is made.

So if you do something like:
(this is Scala syntax - but I'm sure you get the point)

for (abc <- worklist){
  val fh = Scene.v.fastHierarchy
  val toChange = computeChanges(fh.XYZ(abc))
  changeSomething(toChange)
}

Then you will waste a ton of time on the hierarchies.

So I would suggest to use the hierarchy to determine the changes to make
and then make all the changes.

So that would be (using a mutable collection for understandability)
val fh = Scene.v.fastHierarchy
val toChange = List()
for (abc <- worklist){
  toChange ++= computeChanges(fh.XYZ(abc))
}
changeSomething(toChange)


As for integrating in Soot, that is just a pull request away :) That
being said, it would be good if you commit not just your code, but your
availability as a maintainer. Soot has too much unmaintained code already...

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 09/26/2013 12:04 AM, Guru Devanla wrote:
> Also, if such a module is not available, would it be a good addition to
> the toolkit? I can make it a separate module such that it can be made
> part of one the existing the toolkits
> 
> Thanks
> Guru
> 
> 
> On Wed, Sep 25, 2013 at 8:41 PM, Guru Devanla <gdevan2 at uic.edu
> <mailto:gdevan2 at uic.edu>> wrote:
> 
>     Hello Soot-List,
> 
>     I am in the process of generating java classes by injecting various
>     mutants that changes the structure of classes in the inheritance
>     hierarchy or changes behavior of methods.
> 
>     Is there any already available modules in the toolkit which does
>     anything close to this? I just would like to leverage existing soot
>     extensions before I do anything from scratch.
> 
>     Any pointers would be of great help!
> 
>     Thanks
>     Guru
> 
> 
> 
> 
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> 


More information about the Soot-list mailing list