Overview
riscv-tests is treated in the cited TestRIG evaluation as one of three RISC-V testing frameworks, alongside QCVEngine and RISCV-DV. The paper identifies the repository URL for riscv-tests as https://github.com/riscv-software-src/riscv-tests. [repository-and-framework]
Use in coverage evaluation
The evaluation considered two RISC-V architecture configurations: RV32IMC and RV64IMAFDCZicsr. For RV32IMC, the authors measured Sail RISC-V model coverage for the I, M, and C extension instructions and general-purpose registers. For RV64IMAFDCZicsr, they measured coverage for I, M, A, F, D, C, and CSR instructions, plus general-purpose and floating-point registers. [coverage-scope]
For riscv-tests specifically, coverage was measured by running its test binaries on the Sail RISC-V model. [riscv-tests-coverage-method]
Comparison with QCVEngine and RISCV-DV
In the same evaluation, QCVEngine was configured with the two architecture strings and run for 500 sequences of each generator, while RISCV-DV tests were executed using the Spike simulator and converted into TestRIG traces for replay through RVFI-DII. [comparison-method]
The reported RV32IMC results were similar across QCVEngine, riscv-tests, and RISCV-DV, which the authors interpreted as evidence that QCVEngine can serve as a suitable alternative to unit testing and torture testing with respect to breadth of coverage. The RV64IMAFDCZicsr results showed more variance across the three frameworks. [coverage-comparison]
Counterexample-size context
The TestRIG paper also compared QCVEngine counterexample lengths against riscv-tests and RISCV-DV trace lengths. It states that the riscv-tests and RISCV-DV trace lengths in that comparison did not allow shrinking. The median riscv-tests trace length was reported as 561 instructions, while the median RISCV-DV sequence was 15,339 instructions; QCVEngine's median shrunken counterexample length was 3 instructions and its third quartile was 5 instructions. [counterexample-complexity]
Technical significance in the cited evaluation
Within the cited material, riscv-tests serves as a baseline unit-test-style framework for comparing coverage and trace-size characteristics against randomized and shrinking-based approaches such as QCVEngine. The evidence does not characterize the full contents or design of the riscv-tests repository beyond its use as test binaries in the described coverage measurements. [role-and-limits]