Table 1 Comparison of representative smart contract testing tools/methods.
From: AGTS: Novel automated generation of smart contract test suites for Hyperledger Fabric
Tool/method | Platform support | Testing type | Coverage metrics | Detection effect | Automation level | Key limitations/characteristics |
|---|---|---|---|---|---|---|
Oyente | Ethereum (Solidity) | Symbolic execution | Statement coverage, common vulnerability checks | Analyzed 19,336 contracts; detects key issues such as reentrancy and integer overflow | Moderate (requires manual configuration) | Effective for classic vulnerabilities; limited for complex scenarios |
Maian | Ethereum (Solidity) | Symbolic execution and interprocedural analysis | Focus on locked funds, frozen contracts, killable contracts | Analyzed nearly 1 million contracts with an 89% true positive rate; reproduces real exploits such as DAO and Parity | Moderate (requires manual setup for contracts) | Specialized in reproducing real-world attacks; narrow scope |
Smartcheck | Ethereum (Solidity) | Static analysis | Common syntax and security patterns | Comparable effectiveness to manual audits; quickly flags simpler issues | High (script-friendly for batch analysis) | Limited detection capability for complex vulnerabilities; easy to use |
Slither | Ethereum (Solidity) | Static analysis (data-flow/taint analysis) | Common vulnerabilities detection, optimization suggestions | Fast analysis, robust results, good balance of false positives and false negatives | High (CI integration supported) | Requires familiarity with SlithIR intermediate representation for advanced analysis |
ContractFuzzer | Ethereum (Solidity) | Fuzz testing | Random input generation and runtime exception/error tracking | Found over 459 vulnerabilities among 6,991 contracts; effective in detecting serious vulnerabilities | Moderate (requires oracle configuration for analysis) | Detailed reports might require manual interpretation |
AGTS (our work) | Hyperledger fabric (extensible to ethereum, polkadot, etc.) | Automated test-case generation, dynamic testing, symbolic execution, fuzz testing | Functional requirements coverage, Execution-path coverage, Multiple coverage criteria | High effectiveness in detecting defects in enterprise-grade smart contracts; superior defect-detection rates compared to traditional methods | Very High (Fully automated generation, CI pipeline integration) | Fully automated, tailored specifically for complex business scenarios on enterprise Fabric networks |