paperbot · PL 论文追踪

全部论文 待读 收藏

P2 ArduinoProg: Towards Automating Arduino Programming

ArduinoProg:迈向 Arduino 编程自动化
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023匹配度 2/10 · 该论文面向Arduino编程辅助,属于机器学习与程序合成/开发工具交叉,但未涉及静态分析、形式化验证、浮点程序分析或贝叶斯程序分析,也未以LLM/Agent作为核心方法。其目标与用户当前追的问题核心不匹配。引用 1 inbox
Imam Nur Bani Yusuf, Diyanah Binte Abdul Jamal, Lingxiao Jiang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:基于真实用户查询,提出三组件工具自动推荐驱动库、推断接口配置并生成用法模式,辅助 Arduino 编程。

为 Arduino 编写代码面临独特挑战:开发者需要掌握 Arduino 控制器与 I/O 硬件之间接口配置的硬件知识,为 I/O 硬件挑选合适的驱动库,并遵循该库特定的使用模式。本文基于对 Arduino 论坛真实用户查询的研究,提出 ArduinoProg 来应对这些挑战。该工具由三个组件构成:Library Retriever 利用基于向量的相似度匹配,从查询中识别出的 I/O 硬件检索相关库名;Configuration Classifier 依据各库的方法定义预测 I/O 硬件与 Arduino 控制器之间的接口配置;Pattern Generator 使用序列到序列(seq2seq)深度学习模型生成库的使用模式。作者使用真实世界查询对 ArduinoProg 进行了评估,结果表明各组件能够生成准确且有价值的建议,从而指导开发者编写 Arduino 代码。

问题
编写 Arduino 代码需要硬件接口配置知识、挑选合适的驱动库并遵循其特定用法模式,这对开发者构成了独特挑战。
方法
基于 Arduino 论坛真实用户查询的研究,构建 ArduinoProg 工具,包含 Library Retriever(向量相似度匹配检索库名)、Configuration Classifier(依据库方法定义预测接口配置)和 Pattern Generator(seq2seq 深度模型生成用法模式)三个组件。
评估
使用真实用户查询进行评估,结果显示 ArduinoProg 的各组件能够生成准确且有用的建议来指导开发者编写 Arduino 代码。
原文摘要(Abstract)

Writing code for Arduino poses unique challenges. A developer 1) needs hardware-specific knowledge about the interface configuration between the Arduino controller and the I/Ohardware, 2) identifies a suitable driver library for the I/O hardware, and 3) follows certain usage patterns of the driver library in order to use them properly. In this work, based on a study of real-world user queries posted in the Arduino forum, we propose ArduinoProg to address such challenges. ArduinoProg consists of three components, i.e., Library Retriever, Configuration Classifier, and Pattern Generator. Given a query, Library Retriever retrieves library names relevant to the I/O hardware identified from the query using vector-based similarity matching. Configuration Classifier predicts the interface configuration between the I/O hardware and the Arduino controller based on the method definitions of each library. Pattern Generator generates the usage pattern of a library using a sequence-to-sequence deep learning model. We have evaluated ArduinoProg using real-world queries, and our results show that the components of ArduinoProg can generate accurate and useful suggestions to guide developers in writing Arduino code. Demo video: bit.ly/3Y3aeBe Tool: https://huggingface.co/spaces/imamnurby/ArduinoProg Code and data: https://github.com/imamnurby/ArduProg

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{YusufJJ23,
  title = {ArduinoProg: Towards Automating Arduino Programming},
  author = {Imam Nur Bani Yusuf and Diyanah Binte Abdul Jamal and Lingxiao Jiang},
  booktitle = {ASE},
  year = {2023},
  doi = {10.1109/ase56229.2023.00055}
}