2017 · 45 citations · 29 references
EngineeringComputer EngineeringComputer ScienceEmbedded SystemsHardware-software Co-designSoftware EngineeringEmbedded DebuggingEmbedded InstrumentationEmbedded Software DesignHardware DebuggingAutomated DebuggingBus ArchitectureEmbedded Debug SupportExploratory Case StudyIn-circuit DebuggingVisual Debugging
The Maker movement has encouraged more people to start working with electronics and embedded processors. A key challenge in developing and debugging custom embedded systems is understanding their behavior, particularly at the boundary between hardware and software. Existing tools such as step debuggers and logic analyzers only focus on software or hardware, respectively. This paper presents a new development environment designed to illuminate the boundary between embedded code and circuits. Bifröst automatically instruments and captures the progress of the user's code, variable values, and the electrical and bus activity occurring at the interface between the processor and the circuit it operates in. This data is displayed in a linked visualization that allows navigation through time and program execution, enabling comparisons between variables in code and signals in circuits. Automatic checks can detect low-level hardware configuration and protocol issues, while user-authored checks can test particular application semantics. In an exploratory study with ten participants, we investigated how Bifröst influences debugging workflows.
29
A Survey on Software Fault Localization
W. Eric Wong, Ruizhi Gao, Yihao Li et al. · IEEE Transactions on Software Engineering · 2016 · 1.1K citations
Six Learning Barriers in End-User Programming Systems
Amy J. Ko, Brad A. Myers, Htet Htet Aung · 2004 · 547 citations · Full text
Computing, Computer Science, Design +16
Reflective physical prototyping through integrated design, test, and analysis
Björn Hartmann, Scott Klemmer, Michael S. Bernstein et al. · 2006 · 301 citations
Arts, Design, Communication Design +12
Andrew J. Ko, Brad A. Myers · 2008 · 287 citations