PofoliaPofolia ile paylaşıldı

Proceedings of the ACM on Programming Languages· 2026Q1

Düğüm Merkezli Bir Bakış Açısıyla Yol Kapsama İzlemeyi Yeniden Ziyaret Etmek

Revisiting Path Coverage Tracing from a Node-Centric View

Heqing Huang, Zhendong Su

Kısa özet

Yol kapsamı izleme için yeni bir düğüm merkezli yaklaşım, kenar merkezli en gelişmiş yöntemlere kıyasla enstrümantasyonu 2,8 kat ve çalışma zamanı yükünü %2,4 oranında azaltarak program analizini ve hata tespitini hızlandırır.

Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.

Ana noktalar

  • Kenarlar yerine bloklara odaklanan yol kapsamı izleme için düğüm merkezli bir görünüm sunar.
  • Kapsam farklılaştırması için minimum blok setini bulan, kanıtlanabilir şekilde optimal, doğrusal zamanlı bir algoritma geliştirir.
  • InsOpt uygulaması, 2,8 kat daha az enstrümantasyon gerektirir ve temel blokların yalnızca %17'sini enstrümante eder.
  • Magma kıyaslama testinde kenar tabanlı yöntemlere kıyasla 1,6 kat hızlanma ve %2,4 çalışma zamanı yükü azalması sağlar.
  • Fuzzing uygulamalarında önemli performans iyileştirmeleri gösterir, AFL++ ile güvenlik açığı tespitinde 5,0 kat hızlanma dahil.

Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.

Özet (abstract)

Path coverage tracing is one of the fundamental components for supporting a wide range of dynamic program analyses, such as testing, debugging, profiling, and many others. Since one needs to insert code into a program to trace its coverage, runtime overhead becomes the main bottleneck for scalability. As finding the minimum number of instrumentation points is NP-hard, extensive work has focused on reducing the number of instrumented edges under diverse assumptions, and thus suffers from the trade-off between precision and efficiency. Departing from this edge-centric view, we introduce, in this work, a novel perspective, namely the node-centric view, where we aim to find the minimum number of blocks, rather than edges as in existing work, that can differentiate all edges and paths in the program. This new perspective allows us to design a linear-time algorithm that is provably correct and optimal—it finds the minimum set of blocks for correctly differentiating edge/path coverage for arbitrary control-flow graphs. Our key insight is that optimal node-level instrumentation only needs to distinguish undifferentiated paths at the block where they converge, enabling our algorithm to have linear-time complexity regarding the number of basic blocks. We implement our algorithm as InsOpt and compare it against state-of-the-art edge-coverage instru- mentation techniques on the real-world vulnerability-detection benchmark, Magma. Our evaluation results demonstrate significant improvements: InsOpt needs 2.8x less instrumentation with only 17% basic blocks instrumented. This reduced instrumentation yields a 1.6x speedup and a substantial 2.4x reduction in runtime overhead. Moreover, we also demonstrate substantial potential for InsOpt across other applications. Specifically, our integration of InsOpt with AFL++, a state-of-the-art fuzzer, shows a 5.0x speedup in vulnerability detection and a 1.5x performance improvement. Notably, this efficiency gain further benefits InsOpt in detecting five previously unknown bugs in frequently evaluated projects by other state-of-the-art tools.

Yazarların özeti; kaynağından alınmıştır. Proceedings of the ACM on Programming Languages, 2026 · DOI ↗

ÇıkarımlarPremium
Makaleye SorÜcretsiz hesapla

Ücretsiz hesapla devam et

Makaleye Sor ile bu makaleye günde 3 soru ücretsiz; makaleyi kaydet, kaynakçasını al, ilgi alanına göre her gün yeni özetler. Çıkarımlar Premium.

Web'de ücretsiz devam et

Google ya da Apple hesabınla giriş; kart istemez. Bu makaleye geri dönersin.

Telefonda:

Alan: Yazılım

SoftwareComputer Science