Litcius/Paper detail

CirFix: automatically repairing defects in hardware design code

Hammad Ahmad, Yu Huang, Westley Weimer

202221 citationsDOI

Abstract

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.

Topics & Concepts

Benchmark (surveying)Computer scienceSuiteVerilogDomain (mathematical analysis)SoftwareBridge (graph theory)Embedded systemSoftware bugVariety (cybernetics)Computer hardwareCode (set theory)Hardware description languageProgramming languageField-programmable gate arrayArtificial intelligenceMathematicsHistoryMathematical analysisGeographyInternal medicineGeodesyArchaeologySet (abstract data type)MedicineSoftware Testing and Debugging TechniquesSoftware Engineering ResearchRadiation Effects in Electronics