This repository is used to perform relation coverage.
It contains a Pyhton script which performs following step:
- Generate a test programs
- Compile the test programs using LLMV with RISC-V settings
- Run the test program on the VP
- Generate Structural and Relation Coverage
- Store Results
- Working Python3 environment
- DynamoRIO
- ReportGenerator
- RISC-V VP++
- Relation Coverage repository
- Running Experiments with RISC-V VP
- Clone Relation Coverage repository
git clone https://github.com/ics-jku/relation_coverage.git
- Clone RISCV-VP++ repository
git clone https://github.com/ics-jku/riscv-vp-plusplus.git
- Install packages and build RISCV-VP++ according to README of RISCV-VP++
sudo apt install ...
make -j
- Integrate the "mems_gyro.h", located in "Experiments/mems_gyro_hw", peripheral into the desired VP Platform
- Edit "config/coverage_bar_tp*.ccfg" with your personal folder locations
Replace tokens in "<>" tags with your pathes e.g.
HARDWARE:<MAIN_FOLDER>/<VP_FOLDER>/vp/build/bin/riscv-vp
HARDWARE:/home/user/relation_coverage/riscv_vp_plusplus/vp/build/bin/riscv-vp
- Execute environment
python3 UniCover.py ./config/coverage_bare_tp0.ccfg
@inproceedings{HG:2024,
author = {Christoph Hazott and Daniel Gro{\ss}e},
booktitle = {European Test Symposium},
title = {Relation Coverage: A new Paradigm for
Hardware/Software Testing},
year = {2024},
}