Commit Diff


commit - b566a2659d29694b42a05ad77043443f70527aa6
commit + 295fced96aa3aef15966a69207a8c531d3c56162
blob - 736c777567d432744adac96f3d5e809bf82e6ebd
blob + ad533eff32add96fff7476770721a41750b5f323
--- testcase-minimization.md
+++ testcase-minimization.md
@@ -5,8 +5,11 @@
 
 ### Algorithms and Implementations
 
-- https://github.com/DRMacIver/shrinkray
-- [preduce](https://github.com/fitzgen/preduce). Language-agnostic.
+Comparison: https://langston-barrett.github.io/treereduce/overview.html#comparison-to-other-tools
+
+- Rust [treereduce](https://github.com/langston-barrett/treereduce) - A fast, parallel, syntax-aware test case reducer based on tree-sitter grammars.
+- Python [shrinkray](https://github.com/DRMacIver/shrinkray)
+- Python [preduce](https://github.com/fitzgen/preduce). Language-agnostic.
 - [C-Reduce](http://embed.cs.utah.edu/creduce/), according to [comparison](https://blog.regehr.org/extra_files/creduce21.png) C-Reduce is significantly better than Delta
 - C-Vise https://github.com/marxin/cvise
 - Delta-Debugging algorithm, see paper *Simplifying Failure-Inducing Input*, Ralf Hildebrandt and Andreas Zeller, 2000. Implementations:
@@ -19,7 +22,7 @@
   - JS https://github.com/wala/jsdelta
   - https://en.wikipedia.org/wiki/Delta_debugging#Software
   - https://github.com/MarkusTeufelberger/afl-ddmin-mod
-- halfempty https://github.com/googleprojectzero/halfempty
+- [halfempty](https://github.com/googleprojectzero/halfempty)
 - DustMite https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/
 - [afl-tmin](https://github.com/google/AFL/blob/master/afl-tmin.c), [description](https://github.com/google/AFL/blob/61037103ae3722c8060ff7082994836a794f978e/docs/technical_details.txt#L281-L313)
 - [lithium](https://github.com/MozillaSecurity/lithium/) (testcase reduction algorithm is a modified version of the "ddmin" algorithm in Andreas Zeller's paper, Simplifying and Isolating Failure-Inducing Input)