Chisel is a software debloating system that satisfies the following criteria:

Minimality: Chisel trims code as aggressively as possible while respecting the specification. It guarantees 1-minimality: removing any single statement from the reduced program fails to respect the specification.
Efficiency: Chisel efficiently finds the minimized program and scales to large programs. It uses a learning algorithm to avoid generating too many syntactically or semantically invalid candidate programs during its search.
Robustness: Chisel avoids introducing new errors or vulnerabilities in the generated program. The minimized program is guaranteed to be correct with respect to the given specification and is therefore robust.
Naturalness: Chisel produces debloated code that is maintainable and extensible. It avoids program transformations that could mangle the program or break its naturalness.
Generality: Chisel can handle a wide variety of different kinds of programs and specifications. It treats both the program and the specification as black-boxes, enabling it to be broadly applicable.