Understanding bug fix patterns in verilog

  • Authors:
  • Sangeetha Sudakrishnan;Janaki Madhavan;E. James Whitehead, Jr.;Jose Renau

  • Affiliations:
  • Univ. of California, Santa Cruz, Santa Cruz, CA, USA;Univ. of California, Santa Cruz, Santa Cruz, CA, USA;Univ. of California, Santa Cruz, Santa Cruz, CA, USA;Univ. of California, Santa Cruz, Santa Cruz, CA, USA

  • Venue:
  • Proceedings of the 2008 international working conference on Mining software repositories
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Today, many electronic systems are developed using a hardware description language, a kind of software that can be converted into integrated circuits or programmable logic devices. Like traditional software projects, hardware projects have bugs, and significant developer time is spent fixing them. A useful first step toward reducing bugs in hardware is developing an understanding of the frequency of different types of errors. Once the most common types are known, it is then possible to focus attention on eliminating them. As most hardware projects use software configuration management repositories, these can be mined for the textual bug fix changes. In this project, we analyze the bug fix history of four hardware projects written in Verilog and manually define 25 bug fix patterns. The frequency of each bug type is then computed for all projects. We find that 29 -- 55% of the bug fix pattern instances in Verilog involve assignment statements, while 18 -- 25% are related to if statements.