Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
LibFuzzer serves as an in-process, coverage-guided engine for evolutionary fuzzing. By being linked directly with the library under examination, it injects fuzzed inputs through a designated entry point, or target function, allowing it to monitor the code paths that are executed while creating variations of the input data to enhance code coverage. The coverage data is obtained through LLVM’s SanitizerCoverage instrumentation, ensuring that users have detailed insights into the testing process. Notably, LibFuzzer continues to receive support, with critical bugs addressed as they arise. To begin utilizing LibFuzzer with a library, one must first create a fuzz target—this function receives a byte array and interacts with the API being tested in a meaningful way. Importantly, this fuzz target operates independently of LibFuzzer, which facilitates its use alongside other fuzzing tools such as AFL or Radamsa, thereby providing versatility in testing strategies. Furthermore, the ability to leverage multiple fuzzing engines can lead to more robust testing outcomes and clearer insights into the library's vulnerabilities.
Description
Tarpaulin serves as a tool for reporting code coverage specifically designed for the cargo build system, drawing its name from a durable cloth typically employed to protect cargo on ships. At present, it effectively provides line coverage, though it may still exhibit some minor inaccuracies in its output. Significant efforts have been made to enhance its compatibility across various projects, yet unique combinations of packages and build configurations can lead to potential issues, so users are encouraged to report any discrepancies they encounter. Additionally, the roadmap offers insights into upcoming features and improvements. On Linux systems, Tarpaulin utilizes Ptrace as its default tracing backend, which is limited to x86 and x64 architecture; however, this can be switched to llvm coverage instrumentation by specifying the engine as llvm, which is the default method on Mac and Windows platforms. Furthermore, Tarpaulin can be deployed in a Docker environment, making it a practical solution for users who prefer not to run Linux directly but still wish to utilize its capabilities locally. This versatility makes Tarpaulin a valuable tool for developers looking to improve their code quality through effective coverage analysis.
API Access
Has API
Yes
API Access
Has API
No
Integrations
Atheris
Yes
C
Yes
C++
Yes
ClusterFuzz
Yes
CodeShip
No
Codecov
No
Docker
No
Fuzzbuzz
Yes
GitHub
No
Google ClusterFuzz
Yes
Integrations
Atheris
No
C
No
C++
No
ClusterFuzz
No
CodeShip
Yes
Codecov
Yes
Docker
Yes
Fuzzbuzz
No
GitHub
Yes
Google ClusterFuzz
No
Pricing Details
Free
Free Trial
No
Free Version
Yes
Pricing Details
Free
Free Trial
No
Free Version
Yes
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
No
Linux
Yes
Chromebook
No
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
Yes
Linux
Yes
Chromebook
No
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Vendor Details
Company Name
LLVM Project
Founded
2003
Website
llvm.org/docs/LibFuzzer.html
Vendor Details
Company Name
Tarpaulin
Website
crates.io/crates/cargo-tarpaulin