Inline Visualization and Manipulation of Real-Time Hardware Log for Supporting Debugging of Embedded Programs

被引:0
|
作者
Bianchi A. [1 ,2 ]
Yap Z.L. [2 ]
Lertjaturaphat P. [3 ]
Henley A.Z. [4 ]
Moon K.J. [3 ]
Kim Y. [5 ]
机构
[1] Industrial Design & School of Computing, KAIST
[2] School of Computing, KAIST
[3] Industrial Design, KAIST
[4] College of Art & Technology, Chung-Ang University
基金
新加坡国家研究基金会;
关键词
Debugging; Embedded Systems; Expression Language; Hardware logs; Live programming; Physical computing; Visualization;
D O I
10.1145/3660250
中图分类号
学科分类号
摘要
The advent of user-friendly embedded prototyping systems, exemplified by platforms like Arduino, has significantly democratized the creation of interactive devices that combine software programs with electronic hardware. This interconnection between hardware and software, however, makes the identification of bugs very difficult, as problems could be rooted in the program, in the circuit, or at their intersection. While there are tools to assist in identifying and resolving bugs, they typically require hardware instrumentation or visualizing logs in serial monitors. Based on the findings of a formative study, we designed Inline a programming tool that simplifies debugging of embedded systems by making explicit the internal state of the hardware and the program's execution flow using visualizations of the hardware logs directly within the user's code. The system's key characteristics are 1) an inline presentation of logs within the code, 2) real-time tracking of the execution flow, and 3) an expression language to manipulate and filter the logs. The paper presents the detailed implementation of the system and a study with twelve users, which demonstrates what features were adopted and how they were leveraged to complete debugging tasks. © 2024 ACM.
引用
收藏
相关论文
共 50 条
  • [1] Monitoring and debugging distributed real-time programs
    Dodd, Paul S.
    Ravishankar, Chinya V.
    Software - Practice and Experience, 1992, 22 (10) : 863 - 877
  • [2] MONITORING AND DEBUGGING DISTRIBUTED REAL-TIME PROGRAMS
    DODD, PS
    RAVISHANKAR, CV
    SOFTWARE-PRACTICE & EXPERIENCE, 1992, 22 (10): : 863 - 877
  • [3] Supporting Distributed Real-Time Debugging in Online Games
    Festa, Dario
    Maggiorini, Dario
    Ripamonti, Laura Anna
    Bujari, Armir
    2017 14TH IEEE ANNUAL CONSUMER COMMUNICATIONS & NETWORKING CONFERENCE (CCNC), 2017, : 737 - 740
  • [4] A Real-Time Assessment of Programming Through Debugging Log Analytic
    Jeng, Yu-Lin
    Tan, Qing
    Shu, Yu
    Huang, Sheng-Bo
    EMERGING TECHNOLOGIES FOR EDUCATION, 2018, 10676 : 438 - 445
  • [5] DEBUGGING DISTRIBUTED C-PROGRAMS BY REAL-TIME REPLAY
    WITTIE, LD
    SIGPLAN NOTICES, 1989, 24 (01): : 57 - 67
  • [6] Hardware- and software-based simulation system for complex dynamic debugging of real-time control programs
    Leokhin, L.
    Saksonov, E.A.
    Electronic modeling, 1992, 9 (04): : 753 - 759
  • [7] Real-time vehicle and lane detection with embedded hardware
    Kaszubiak, J
    Tornow, M
    Kuhn, RW
    Michaelis, B
    Knoeppel, C
    2005 IEEE INTELLIGENT VEHICLES SYMPOSIUM PROCEEDINGS, 2005, : 619 - 624
  • [8] Emerging on-chip debugging techniques for real-time embedded systems
    MacNamee, C
    Heffernan, D
    COMPUTING & CONTROL ENGINEERING JOURNAL, 2000, 11 (06): : 295 - 303
  • [9] DEBUGGING REAL-TIME SYSTEMS
    QUINNELL, RA
    EDN, 1994, 39 (24) : 48 - &
  • [10] DEBUGGING REAL-TIME SYSTEMS
    NEWCOMER, JM
    DR DOBBS JOURNAL, 1993, 18 (07): : 55 - &