{"id":19162257,"url":"https://github.com/rust-fuzz/sancov","last_synced_at":"2025-05-07T10:40:47.408Z","repository":{"id":59431073,"uuid":"537254626","full_name":"rust-fuzz/sancov","owner":"rust-fuzz","description":"Rust bindings to LLVM's `SanitizerCoverage` interface","archived":false,"fork":false,"pushed_at":"2022-09-16T18:22:56.000Z","size":15,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-19T21:24:44.650Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rust-fuzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-16T00:49:29.000Z","updated_at":"2025-03-31T09:43:50.000Z","dependencies_parsed_at":"2022-09-17T01:23:47.640Z","dependency_job_id":null,"html_url":"https://github.com/rust-fuzz/sancov","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-fuzz%2Fsancov","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-fuzz%2Fsancov/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-fuzz%2Fsancov/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-fuzz%2Fsancov/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rust-fuzz","download_url":"https://codeload.github.com/rust-fuzz/sancov/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252861628,"owners_count":21815729,"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-11-09T09:09:28.181Z","updated_at":"2025-05-07T10:40:47.343Z","avatar_url":"https://github.com/rust-fuzz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003ch1\u003e\u003ccode\u003esancov\u003c/code\u003e\u003c/h1\u003e\n\n  \u003cp\u003e\u003cstrong\u003eRust bindings to LLVM's \u003ccode\u003eSanitizerCoverage\u003c/code\u003e interface.\u003c/strong\u003e\u003c/p\u003e\n\n  \u003ca href=\"https://github.com/rust-fuzz/sancov/actions?query=workflow%3ARust\"\u003e\u003cimg alt=\"GitHub Actions Status\" src=\"https://github.com/rust-fuzz/sancov/workflows/Rust/badge.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://docs.rs/sancov\"\u003e\u003cimg src=\"https://docs.rs/sancov/badge.svg\" alt=\"Documentation Status\" /\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n## About\n\nRust bindings to [LLVM's `SanitizerCoverage`\ninterface](https://clang.llvm.org/docs/SanitizerCoverage.html).\n\nUsing these bindings allows you to convey additional coverage information to the\n`SanitizerCoverage` consumer, which is typically a fuzzer like `libFuzzer`. You\ncan, for example, convey edge coverage information inside JIT code or which size\nclasses are being allocated from in your custom allocator that would otherwise\nnot be made visible by LLVM's inserted coverage instrumentation.\n\n## Example\n\n```rust,no_run\nuse sancov::Counters;\n\n// Define a bunch of counters.\nstatic COUNTERS: Counters\u003c4096\u003e = Counters::new();\n\n// Register the counters with the `SanitizerCoverage` consumer.\nCOUNTERS.register();\n\n// Increment a counter when some custom code is executed!\nCOUNTERS[42].increment()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-fuzz%2Fsancov","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frust-fuzz%2Fsancov","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-fuzz%2Fsancov/lists"}