Overview
Input Instruction Distillation is a technique proposed in the Instiller RTL fuzzing work to reduce CPU cycles and improve fuzzing performance by shortening input instruction length. Its basic idea is to construct a subset of the original input set that is shorter while maintaining the original coverage.
Method
The technique is based on a variant of ant colony optimization. The Instiller paper describes using the idea of ant colony optimization to distill input instructions, modeling the length of input instructions as the number of ants and RTL circuits as cities. The resulting algorithm outputs the best input instruction and length for the current status, completing the input instruction distillation task. The authors also state that they modify classic ant colony optimization into a variant, VACO, to fit the RTL fuzzing scenario.
Role in Instiller
Input Instruction Distillation is one of the techniques proposed as part of Instiller. The paper describes Instiller as a prototype implementation and reports that the distillation technique can make inputs shorter and more effective.
Reported effects
The evaluation reports that, for input instruction distillation, Instiller's input length is 79.3% shorter than DiFuzzRTL. The same source reports that input instruction distillation leads to a 6.7% increase in execution speed on average. The broader Instiller evaluation also reports 17.0% more mismatches in the targets, though that figure is for Instiller overall rather than solely for the distillation technique.