AceCov: Auxiliary Composite Edge Coverage for Fuzzing

Security flaws in software, including bugs and vulnerabilities, can cause serious issues, and fuzzing has been extensively studied and employed to identify them. A typical fuzzer automatically generates test inputs and feeds back information obtained from executed programs for efficient software verification. As the feedback information, edge coverage, which is based on edge traversals in a control flow graph, is widely used. We focus on branches whose results change depending on the traversal of a particular edge in the control flow graph. In particular, we found that when a branch depends on a combination of multiple edge traversals, it is difficult for existing edge coverage to cover the branch outcome. Based on this observation, we propose a novel coverage metric for such branches: auxiliary composite-edge coverage (AceCov). AceCov works together with existing edge coverage to provide an auxiliary coverage metric only for branches such as the one described above, where the edge coverage does not cover the result. We implemented AceCov in AFL++ and evaluated it using FuzzBench and MAGMA. The evaluation results show a performance improvement of up to 3.36% and an average improvement of 1.19% over AFL++. We also identified four bugs that AFL++ failed to find.

Authors

Institutions

Publication Details

Published
2025-06-30
DOI
https://doi.org/10.1109/eurosp63326.2025.00062
Primary Topic
Manufacturing Process and Optimization
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

AceCov: Auxiliary Composite Edge Coverage for Fuzzing

Yuichi Sugiyama, Hiroyuki Yoshida, Ryota Shioya
Manufacturing Process and Optimization
article

AceCov: Auxiliary Composite Edge Coverage for Fuzzing

Yuichi Sugiyama, Hiroyuki Yoshida, Ryota Shioya
article en

Abstract

Security flaws in software, including bugs and vulnerabilities, can cause serious issues, and fuzzing has been extensively studied and employed to identify them. A typical fuzzer automatically generates test inputs and feeds back information obtained from executed programs for efficient software verification. As the feedback information, edge coverage, which is based on edge traversals in a control flow graph, is widely used. We focus on branches whose results change depending on the traversal of a particular edge in the control flow graph. In particular, we found that when a branch depends on a combination of multiple edge traversals, it is difficult for existing edge coverage to cover the branch outcome. Based on this observation, we propose a novel coverage metric for such branches: auxiliary composite-edge coverage (AceCov). AceCov works together with existing edge coverage to provide an auxiliary coverage metric only for branches such as the one described above, where the edge coverage does not cover the result. We implemented AceCov in AFL++ and evaluated it using FuzzBench and MAGMA. The evaluation results show a performance improvement of up to 3.36% and an average improvement of 1.19% over AFL++. We also identified four bugs that AFL++ failed to find.

The University of Tokyo (JP)
Openalex Percentile: Top 69%
Manufacturing Process and Optimization
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

AceCov: Auxiliary Composite Edge Coverage for Fuzzing — Yuichi Sugiyama, Hiroyuki Yoshida, et al. · (2025) | TGRS Research Map | TGRS