发表机构
Institute of Science Tokyo(东京科学大学)
机构由 AI 辅助整理,请以论文原文为准。AI 中文总结
针对Emfrp嵌入式应用的抽象鸿沟问题,提出多模式调试框架,结合源代码映射技术,可在Emfrp抽象级与C/C++ I/O级调试,经ESP32案例验证提升调试效率。
AI 中文摘要
Emfrp是一种为小规模嵌入式系统设计的函数式响应编程(FRP)语言。时变值是FRP的主要抽象机制,可简洁描述响应式行为。但在实践中,Emfrp程序会被编译为C语言代码,并与用C或C++编写的平台相关输入/输出组件结合,开发者需使用GDB等传统调试器调试生成的混合C/C++程序,即便应用逻辑用Emfrp编写,这造成了源级FRP程序与可执行系统间的抽象鸿沟。本文提出一种用于基于Emfrp的嵌入式应用的多模式调试框架,该框架支持在Emfrp抽象级别调试,同时允许检查平台特定的C/C++ I/O代码,方法采用将Emfrp构造与编译程序对应位置关联的源代码映射技术。在ESP32微控制器上开展的含代表性调试场景的案例研究表明,该框架提升了调试效率。
英文摘要
Emfrp is a functional reactive programming (FRP) language designed for small-scale embedded systems. Time-varying values are the primary abstraction mechanism in FRP and enable concise descriptions of reactive behavior. In practice, however, Emfrp programs are compiled into C and combined with platform-dependent input/output components written in C or C++. Consequently, developers must debug the resulting mixed C/C++ program using conventional debuggers such as GDB, even though the application logic is written in Emfrp. This situation creates an abstraction gap between the source-level FRP program and the executable system. This paper presents a multi-mode debugging framework for Emfrp-based embedded applications. The framework supports debugging at the level of Emfrp abstractions while also allowing inspection of platform-specific C/C++ I/O code. Our approach uses a source code mapping technique that relates Emfrp constructs to corresponding locations in the compiled program. A case study on an ESP32 microcontroller using representative debugging scenarios demonstrates improved debugging efficiency.
CommentsThis paper was accepted and presented at the 4th ACM International Workshop on Future Debugging Techniques (DEBT '26) held in Brussels on June 29, 2026. This official publication is available in the ACM Digital Library
Journal refECOOP-Companion (ECOOP-C '26), ACM, 2026