Expand description
Require/Assert condition mutator.
This mutator targets security-critical validation patterns in Solidity:
require(condition)/require(condition, "message")assert(condition)
Mutations generated:
require(x)->require(true)- Always passes (security critical!)require(x)->require(false)- Always failsrequire(x)->require(!x)- Inverted condition
These mutations are particularly valuable for security testing because:
- Access control checks (onlyOwner patterns)
- Input validation (bounds checking, address validation)
- State preconditions (reentrancy guards, paused checks)
Re-exportsยง
use eyre::Result;๐use solar::ast::CallArgsKind;๐use solar::ast::Expr;๐use solar::ast::ExprKind;๐use solar::ast::UnOpKind;๐use super::MutationContext;๐use super::Mutator;๐use crate::mutation::mutant::Mutant;๐use crate::mutation::mutant::MutationType;๐
Structsยง
Functionsยง
- extract_
span_ ๐text - Extract text from source given a span
- invert_
condition_ ๐text