tessl install tessl/pypi-atheris@2.3.0A coverage-guided fuzzer for Python and Python extensions based on libFuzzer
Agent Success
Agent success rate when using this tile
91%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.28x
Baseline
Agent success rate without this tile
71%
{
"context": "This criteria evaluates an engineer's proficiency in using Atheris's manual counter allocation API for custom instrumentation. The focus is on proper usage of _reserve_counter(), _trace_branch(), and UpdateCounterArrays() to implement a custom branch tracking system.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Counter allocation",
"description": "Uses atheris._reserve_counter() to allocate unique counter IDs for each registered branch. Each call to register_branch() should invoke _reserve_counter() exactly once and store the returned counter ID.",
"max_score": 25
},
{
"name": "Counter registration",
"description": "Calls atheris.UpdateCounterArrays() in initialize_coverage() to register allocated counters with the fuzzer. This must be called after counter allocation and before tracing begins.",
"max_score": 25
},
{
"name": "Branch tracing",
"description": "Uses atheris._trace_branch() with the allocated counter ID in record_hit() to notify the fuzzer of branch execution. The counter ID passed to _trace_branch() must match the ID returned from _reserve_counter() for that branch.",
"max_score": 30
},
{
"name": "Counter-to-name mapping",
"description": "Maintains a mapping between counter IDs and branch names to implement get_covered_branches(). This allows tracking which named branches have been executed based on counter IDs.",
"max_score": 20
}
]
}