Abstract:
Printed circuit board (PCB) design software is an important category of electronic design automation (EDA) tool which aims to simplify PCB design through graphical intera...Show MoreMetadata
Abstract:
Printed circuit board (PCB) design software is an important category of electronic design automation (EDA) tool which aims to simplify PCB design through graphical interaction. As a type of software, PCB design software is also susceptible to software bugs. Bugs in PCB design software may cause huge losses since they could directly affect the correctness of the final PCBs, which are often used in safety-critical fields. Unfortunately, the lack of understanding of bugs in PCB design software impedes the effective handling of these bugs. To this end, we present the first empirical study to analyze the characteristics of PCB design software bugs. Specifically, we collect 349 bugs from two popular open-source PCB design software projects (i.e., KiCAD and LibrePCB) and investigate the root causes, symptoms, relationships between root causes and symptoms, bug-prone components, and bug fix characteristics. Based on the analysis, we get 13 findings. For example, the majority of bugs are caused by implementation logic errors, resulting from lacking/misunderstanding domain knowledge, such as electrical engineering principles, component placement and arrangement, hierarchical layout techniques, and signal transmission considerations. From these findings, we draw the guidelines for PCB design software development and future research in bug detection, localization, and repair.
Published in: IEEE Transactions on Instrumentation and Measurement ( Volume: 73)