一句话:提出面向 Verilog 硬件设计的自动缺陷修复框架,并首次将自动程序修复的收益带入硬件领域。
本文提出 CirFix,一个面向 Verilog 等硬件设计语言的自动缺陷修复框架。针对软件级自动程序修复难以直接迁移到硬件描述的问题,作者设计了基于 wire 与 register 赋值的故障定位方法,以及面向硬件领域的适应度函数,并构建了包含 32 个缺陷场景的基准套件。在评估中,CirFix 为 21/32 的场景生成合理修复,为 16/32 生成正确修复,修复率与成功的软件程序修复方法相当,表明其首次将自动程序修复的收益有效带入硬件设计领域。
This paper presents CirFix, a framework for automatically repairing defects in hardware designs implemented in languages like Verilog. We propose a novel fault localization approach based on assignments to wires and registers, and a fitness function tailored to the hardware domain to bridge the gap between software-level automated program repair and hardware descriptions. We also present a benchmark suite of 32 defect scenarios corresponding to a variety of hardware projects. Overall, CirFix produces plausible repairs for 21/32 and correct repairs for 16/32 of the defect scenarios. This repair rate is comparable to that of successful program repair approaches for software, indicating CirFix is effective at bringing over the benefits of automated program repair to the hardware domain for the first time.