https://github.com/agra-uni-bremen/symsysc

Symbolic Execution of SystemC TLM Peripherals

https://github.com/agra-uni-bremen/symsysc

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Symbolic Execution of SystemC TLM Peripherals

Basic Info
  • Host: GitHub
  • Owner: agra-uni-bremen
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 52 MB
Statistics
  • Stars: 4
  • Watchers: 8
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Created about 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

Symbolic Execution of SystemC TLM Peripherals

This is the "library" that only contains the minikernel and the required build-system for SystemC in LLVM Bitcode. For some experiments/examples, see symsysc-experiments

REQUIREMENTS

clang, llvm-link, libc++ (get by installing g++) or libcxx-devel, also libc++abi-dev. Optional, but nice: wllvm (pip install wllvm)

If klee not available, build it yourself (warn: Will take some time)

BASE="$HOME/shitgit" MINISAT_VERSION="master" STP_VERSION="2.3.3" SOLVERS="stp" COVERAGE=0 USE_TCMALLOC=1 LLVM_VERSION=14 ENABLE_OPTIMIZED=1 ENABLE_DEBUG=1 DISABLE_ASSERTIONS=0 REQUIRES_RTTI=0 SOLVERS=STP:Z3 GTEST_VERSION=1.11.0 UCLIBC_VERSION=klee_uclibc_v1.2 TCMALLOC_VERSION=2.7 SANITIZER_BUILD= STP_VERSION=2.3.3 MINISAT_VERSION=master Z3_VERSION=4.8.14 USE_LIBCXX=1 KLEE_RUNTIME_BUILD="Debug+Asserts" ENABLE_DOXYGEN=0 ./scripts/build/build.sh klee

How to Build LLVM-SystemC:

```bash https://www.accellera.org/images/downloads/standards/systemc/systemc-2.3.3.tar.gz tar xf systemc-2.3.3.tar.gz && cd systemc-2.3.3

mkdir -C build && cd build cmake -D CMAKECCOMPILER=clang -DCMAKECCOMPILERTARGET=x8664-pc-linux-gnu -DCMAKECXXCOMPILERTARGET=x8664-pc-linux-gnu -D CMAKECXXCOMPILER=clang++ -D CMAKEBUILDTYPE=Debug -D CMAKECXXFLAGS="-g -fcxx-exceptions -stdlib=libc++ -std=c++14 -emit-llvm -flto -c -Xclang -disable-O0-optnone" -D CMAKECFLAGS="-g -emit-llvm -flto -c -Xclang -disable-O0-optnone" -D CMAKECXXCREATESHAREDLIBRARY="llvm-link -o " -D CMAKECXXLINKEXECUTABLE="llvm-link <CMAKECXXLINKFLAGS> -o " -DCMAKE_LINKER=llvm-link .. make -j$(nproc) || echo "Just ignore errors, lol" llvm-link -o src/libsystemc.so.2.3.3 $(find -iname .c.o | xargs echo) cp -P src/libsystemc* /home/klee/source/systemc-dist/lib-llvm/

test it?

klee --libcxx --libc=uclibc -posix-runtime -only-output-states-covering-new build/testbenchsyscplic interfacetestwrite ```

There is also the possibility of building this with wllvm: bash export LLVM_COMPILER=clang ../configure CC=wllvm CXX=wllvm++ --prefix="$(pwd)/../systemc-dist" --build=x86_64-pc-linux-gnu --enable-debug CXXFLAGS='-std=c++17' --with-arch-suffix=-wllvm #--enable-shared=NO --enable-static=YES make -j20 && make install

Owner

  • Name: agra-uni-bremen
  • Login: agra-uni-bremen
  • Kind: organization

GitHub Events

Total
  • Watch event: 1
  • Push event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Push event: 1
  • Fork event: 1