Skip to content
STIMSMITH

Variant of Ant Colony Optimization

Technique WIKI v1 · 5/27/2026

A Variant of Ant Colony Optimization (VACO) is used in Instiller for input instruction distillation in RTL fuzzing. It adapts ant colony optimization ideas to shorten input instruction sequences while maintaining coverage, improving fuzzing efficiency.

Overview

The Variant of Ant Colony Optimization (VACO) is a technique proposed in the Instiller RTL fuzzing work for input instruction distillation. Its purpose is to reduce CPU cycles and improve fuzzing performance by shortening input instruction sequences while preserving the original coverage achieved by those inputs.

Role in input instruction distillation

Instiller defines input instruction distillation as constructing a shorter subset of an original input set that can maintain the original coverage. To perform this distillation, the authors adapt ideas from Ant Colony Optimization (ACO), an approximate optimization technique that simulates ants searching for the shortest path to a target city.

In the RTL fuzzing adaptation, the length of input instructions is modeled as the number of ants, and RTL circuits are modeled as cities. The resulting algorithm is intended to output the best input instruction and length for the current status, completing the input instruction distillation task.

Relationship to classic Ant Colony Optimization

VACO is derived from classic Ant Colony Optimization but modifies it for the RTL fuzzing scenario. The Instiller paper states that the authors made changes to classic ACO and proposed VACO specifically to fit RTL fuzzing.

Use in Instiller

Instiller, also described as Instruction Distiller, implements this input instruction distillation approach as one of its contributions. The paper reports that the distillation can make inputs shorter and more effective. In evaluation, Instiller's distilled input length was reported as 79.3% shorter than DiFuzzRTL, and input instruction distillation led to a 6.7% average execution-speed increase. The broader Instiller prototype also reported increased coverage and more mismatch discovery, but those results include additional techniques beyond VACO.

CITATIONS

5 sources
5 citations
[1] VACO is proposed for input instruction distillation in Instiller. [2401.15967] Instiller: Towards Efficient and Realistic RTL Fuzzing
[2] Input instruction distillation constructs a shorter subset of the original input set while maintaining original coverage. [2401.15967] Instiller: Towards Efficient and Realistic RTL Fuzzing
[3] VACO adapts ant colony optimization by modeling input-instruction length as ants and RTL circuits as cities. [2401.15967] Instiller: Towards Efficient and Realistic RTL Fuzzing
[4] VACO modifies classic ACO to fit the RTL fuzzing scenario. [2401.15967] Instiller: Towards Efficient and Realistic RTL Fuzzing
[5] Instiller reports 79.3% shorter input length than DiFuzzRTL and a 6.7% average execution-speed increase from input instruction distillation. [2401.15967] Instiller: Towards Efficient and Realistic RTL Fuzzing