Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

Selfection (an RTS tool for TizenRT)

Selfection is an RTS tool for projects written in C that compiles to Arm binary. Selfection uses the arm-none-eabi-objdump and arm-none-eabi-readelf tools to statically build a dependency graph of functions from binaries and detect modified code elements.

Requirements

arm-none-eabi-objdump and arm-none-eabi-readelf should be in PATH environment variable. You can download GNU Arm Embedded Toolchain from here.

Usage

python -m selfection.callgraph rts -h

usage: TOOL rts [-h] [--dir DIR] [--skip SKIP] [--debug] [--syms] BINARY

positional arguments:
  BINARY       binary file

optional arguments:
  -h, --help   show this help message and exit
  --dir DIR    cache directory for dependencies
  --skip SKIP  file path of skipped functions
  --debug      Enable debug output
  --syms       Enable tracking of symbols

Citing

If you use our tool in your publication, please cite it.

@inproceedings{CelikETAL18Selfection,
  title={Regression test selection for TizenRT},
  author={Celik, Ahmet and Lee, Young Chul and Gligoric, Milos},
  booktitle={Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering},
  pages={845--850},
  year={2018},
  organization={ACM}
}

Limitations

Only supports binaries of armv7-m and armv7-r.

Disclaimer

All trademarks, servicemarks, registered trademarks, and registered servicemarks (including Arm and TizenRT) are the property of their respective owners.

About

an Regression Test Selection (RTS) tool for C (that compiles to Arm ELF Binary)

Resources

License

Releases

No releases published

Packages

No packages published

Languages