{"id":16659146,"url":"https://github.com/agroce/deepstate-c-blosc2","last_synced_at":"2025-03-12T20:43:28.391Z","repository":{"id":90292672,"uuid":"225932048","full_name":"agroce/deepstate-c-blosc2","owner":"agroce","description":"DeepState harness to test CBlosc2 compression library","archived":false,"fork":false,"pushed_at":"2021-02-23T15:23:44.000Z","size":12608,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-19T13:31:08.400Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agroce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-04T18:31:19.000Z","updated_at":"2022-11-07T15:08:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e06ee37-c1bb-48be-bec0-ad3e02217397","html_url":"https://github.com/agroce/deepstate-c-blosc2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fdeepstate-c-blosc2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fdeepstate-c-blosc2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fdeepstate-c-blosc2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fdeepstate-c-blosc2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agroce","download_url":"https://codeload.github.com/agroce/deepstate-c-blosc2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243293781,"owners_count":20268139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T10:23:59.712Z","updated_at":"2025-03-12T20:43:28.371Z","avatar_url":"https://github.com/agroce.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"The test harness + Makefile will allow you to test\n[CBlosc-2](https://github.com/Blosc/c-blosc2) and the original\n[CBlosc](https://github.com/Blosc/c-blosc) using\n\n- DeepState's built-in brute force fuzzer\n- AFL\n- libFuzzer\n- Eclipser (seems Eclipser/QEMU causes some spurious fails that don't reproduce, but still generates interesting tests)\n\nIt also can make use of [swarm testing](https://agroce.github.io/issta12.pdf).\n\nThe Makefile expects that:\n\n- you installed everything in `install` under the cblosc[2] dir\n- for AFL, you built c-blosc2 using `CC=afl-clang CXX=afl-clang++ cmake -DCMAKE_INSTALL_PREFIX=../install ..`\n- for libFuzzer, you built c-blosc2 using `CC=clang CXX=clang++ CFLAGS=-fsanitize=fuzzer-no-link CXXFLAGS=-fsanitize=fuzzer-no-link cmake -DCMAKE_INSTALL_PREFIX=../install ..`\n\nand copied the resulting library `.a` files to appropriately named\nfiles (see the Makefile).  Running `source getbloscs.sh` should, in\nthe DeepState docker environment, do all these things for you.  This\nwill take a while, due to compilation of some compressors being very\nslow with sanitizers.\n\nTests are binary compatible (in fact use the same harness, with\nvery small code changes) between the c-blosc versions, which means\noriginal c-blosc tests read some pointless bytes to set delta.\n\nYou can get started fuzzing with just a few commands:\n\n```\n$ git clone https://github.com/trailofbits/deepstate.git\n$ cd deepstate\n$ docker build -t deepstate . -f docker/Dockerfile\n$ docker run -it deepstate bash\n```\n\nIn the docker do:\n\n```\n$ git clone https://github.com/agroce/deepstate-c-blosc2.git\n$ cd deepstate-c-blosc2\n$ source getbloscs.sh\n$ make\n$ ./testcblosc2 --fuzz --timeout 100\n```\n\nThe pre-computed tests can be run like this:\n```\n$ ./testcblosc2 --input_test_files_dir reduced_LF_novalue_corpus_testcblosc2 --no_fork\n```\n\nSee https://github.com/trailofbits/deepstate for more on DeepState.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagroce%2Fdeepstate-c-blosc2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagroce%2Fdeepstate-c-blosc2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagroce%2Fdeepstate-c-blosc2/lists"}