返回
Studying the challenges of developing hardware description language programs
DOI:10.1016/j.infsof.2023.107196.png)
摘要
En 中文
Context: Developing domain specific architectures (e.g., Google's TPU) typically requires writing programs in Hardware Description Languages (HDLs). Compared to traditional general-purpose programming languages (GPPLs) (e.g., C++, Java, Python), developing programs in HDLs (e.g., VHDL or Verilog) lacks support from our community. Such an imbalance in the support for GPPLs and HDLs will impede future advances in computer systems. Objective: We believe that our software engineering community should pay more attention to supporting HDL development. Thus, we make an initial attempt in this direction to study the challenges of developing programs in HDLs by mining HDL-related questions in technical forums.Method: We identified 16,700 HDL-related questions in two Stack Exchange forums: Stack Overflow (SO) and Electrical Engineering (EE) Stack Exchange. Through qualitative analysis, topic modeling, and quantitative analysis, we examined the types of questions, the questions' topics, and identified the most challenging topics for developers.Results: We identified ten types of HDL-related questions, including seven types identified in prior work and three new types more relevant to HDLs (e.g., questions related to code explanation and tool search). We also observed that most of the challenges facing HDL developers are similar to those facing GPPL developers, while some challenges (e.g., lower-level operations such as bit and register operations) are more specific to HDLs. Finally, we observed that HDL-related questions are less likely and take a longer time to get accepted answers than GPPL-related questions, and identified the most challenging topics of questions (e.g., file/memory I/O). Conclusion: Our work identified opportunities for different stakeholders in the software and hardware communities to improve the practices of developing HDL programs: software engineering researchers may leverage their expertise to help in advancing HDL languages and methodology, such as to improving the language abstractions for low-level operations such as bit/register operations or memory/file I/Os; Stack Exchange and its moderators may leverage the community size and expertise in both the SO and EE forums to collectively recommend experts to answer questions related to HDLs; HDL language and library developers may provide more actionable error messages, better documentation and logging support to help HDL developers address their encountered issues; tool developers are encouraged to provide advanced IDEs and testing frameworks to help HDL developers improve their development and testing productivity.
Keyword:
Hardware description languages
Stack overflow
Stack exchange
Qualitative analysis
Topic modeling
期刊
IF:
4.3
论文数:
3.8K
被引数:
7.7K
机构
引用论文
Spatial Characteristics of Continuum X-Ray Emission from Lateral Energy Transport in CO2-Laser-Produced Plasmas侧向能量输运导致的CO₂激光产生等离子体中连续X射线发射的空间特性

