cargo-fuzz
Command line helpers for fuzzing (by rust-fuzz)
roxmltree
Represent an XML document as a read-only tree. (by RazrFalcon)
Our great sponsors
cargo-fuzz | roxmltree | |
---|---|---|
6 | 4 | |
1,428 | 391 | |
2.4% | - | |
6.7 | 7.3 | |
26 days ago | 2 months ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cargo-fuzz
Posts with mentions or reviews of cargo-fuzz.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-14.
-
Create Broken Files 2.0.0 - Fuzzing, but from other side
I used libFuzzer via cargo-fuzz - https://github.com/rust-fuzz/cargo-fuzz and input data was not really great
While testing ruff with cargo-fuzz, I noticed that most of the strings tested in the input are almost completely random data, which even after 2 hours of testing find almost no errors and crashes, mostly due a lot of parse errors.
-
Symphonia v0.3: pure-Rust decoders for MP3, WAV, FLAC, AAC
People use cargo-fuzz.
-
Mutable Arguments Considered Harmful | micouy.github.io
cargo fuzz init
-
Efficiently reading utf-8 chars from a large file: How to improve, test and benchmark my implementation ?
Check out https://rust-fuzz.github.io/book/cargo-fuzz.html
-
fast-float - a super-fast float parser in Rust
I've fed it cargo-fuzz and it has discovered at around 200 distinct execution paths within 5 minutes, without any crashes or panics. We'll see what happens after I leave it overnight, but the initial results are very encouraging!
roxmltree
Posts with mentions or reviews of roxmltree.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-09.
-
What are the scenarios where "Rewrite it in Rust" didn't meet your expectations or couldn't be successfully implemented?
This is exactly what I needed when implementing xml-mut :D I have used roxmltree instead and manipulated text directly. will try to rewrite it using Xot.
-
Surprises in the Rust JSON Ecosystem
In regards to the benchmarks, It makes sense to measure serializing/deserializing for parser crates. but since we are talking about dom implementations, metrics like traversal/iteration speed or insert/modification performance would be useful. a good example is roxmltree crate (readonly xml dom) which benches traversal/iteration performance and shows that by only focusing on readonly usecases, it gains substantial performance gains.
-
What are some less popular but well-made crates you'd like others to know about?
For xml parsing, I find https://github.com/RazrFalcon/roxmltree as a really good crate. It’s fast, light, and well documented/maintained. I have so much respect for the maintainer’s approach to merging PRs and the way they consider what’s important for the crate
-
fast-float - a super-fast float parser in Rust
I understand. But I've also wrote enough parsers and performance sensitive code in Rust (ttf-parser, tiny-skia, roxmltree). And in my experience, unsafe is not needed in 99% of the cases. Even something as performance sensitive as tiny-skia is unsafe-free (with some nuances).
What are some alternatives?
When comparing cargo-fuzz and roxmltree you can also consider the following projects:
LibAFL - Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...
quickcheck - Automated property based testing for Rust (with shrinking).
rodio - Rust audio playback library
rand - A Rust library for random number generation.
fast-float-rust - Super-fast float parser in Rust (now part of Rust core)
json - Strongly typed JSON library for Rust
Clipper2 - Polygon Clipping and Offsetting - C++, C# and Delphi
quick-xml - Rust high performance xml reader and writer
log4rs - A highly configurable logging framework for Rust
rust-utf8 - Incremental, zero-copy UTF-8 decoding for Rust