Skip to content

grievejia/CostInstrument

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CostInstrument

Cost instrumenter for jar files

Build

> ant jar

Usage

Show full help message:

java -jar CostInstrument.jar

Instrument with default strategy (cost+1 at method entry and loop header):

java -jar CostInstrument.jar -o <output jar> <jars to process>

Instrument with alternative strategy (cost+1 for each Soot instruction. Note that instrumentation happens only at the end of each basic block):

java -jar CostInstrument.jar -s HEAVY -o <output jar> <jars to process>

Tips

  • This simple instrumentation tool is based on the Soot library. Unfortunately, Soot is not a super robust piece of software, and in our experience every now and then Soot may crash on some real-world bytecode files we feed to it. In cases like this, our solution is to use the --exclude-classes option to instruct the tool to avoid touching the bytecode files of those problematic classes.

About

Cost instrumenter for jar files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published