TY - JOUR
T1 - A Comprehensive Study of Open-Source Printed Circuit Board (PCB) Design Software Bugs
AU - Zhao, Xu
AU - Jiang, He
AU - Guo, Shikai
AU - Liu, Dong
AU - Liu, Hui
AU - Shi, Chongyang
AU - Li, Xiaochen
N1 - Publisher Copyright:
© 2024 IEEE.
PY - 2024
Y1 - 2024
N2 - 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.
AB - 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.
KW - Empirical study
KW - open-source software
KW - printed circuit board (PCB) design software
KW - software bugs
KW - software reliability
UR - http://www.scopus.com/inward/record.url?scp=85202751555&partnerID=8YFLogxK
U2 - 10.1109/TIM.2024.3450918
DO - 10.1109/TIM.2024.3450918
M3 - Article
AN - SCOPUS:85202751555
SN - 0018-9456
VL - 73
JO - IEEE Transactions on Instrumentation and Measurement
JF - IEEE Transactions on Instrumentation and Measurement
M1 - 2005816
ER -