Embedded-check a Code Quality Tool for Automatic Firmware Verification

Rafael Corsi Ferrão, Igor Dos Santos Montagner, Mariana Teixeira Silva, Craig Zilles, Rodolfo Azevedo

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Developing embedded microcontroller code is a complex task, especially for undergrad students new to this area. These students often make high-level conceptual mistakes beyond the scope of commercial standards like MISRA-C. These conceptual errors need to be checked manually through code feedback, a process that is time-consuming, error-prone, and does not scale well with an increasing number of students and/or assignments. In this paper, we present an embedded-check an automated tool that can detect common and critical errors students make when learning to code firmware. A set of 13 rules (baremetal and FreeRTOS) was devised based on our experience from several years of teaching Embedded systems. To validate our tool, we compared its results with manual code review of N=99 projects from the last 3 course offerings. We furthered our analysis by running our tool on N=1132 coding lab submissions that did not receive manual feedback and were used as part of classroom activities. We found that the top-3 errors flagged in the projects were already present when students completed the lab activities. We found that (i) our tool also identified all issues discovered during manual code feedback, (ii) our tool detected issues in 86% of student submissions, whereas manual code feedback only flagged 28% of the submissions as problematic, and (iii) 94.3% of students made some code quality error on individual assignments. Within this results, we believe that our tool can have a significant impact when used both as an formative assessment tool to support learning and as a learning analytics tool to improve teaching.

Original languageEnglish (US)
Title of host publicationITiCSE 2024 - Proceedings of the 2024 Conference Innovation and Technology in Computer Science Education
PublisherAssociation for Computing Machinery
Pages66-72
Number of pages7
ISBN (Electronic)9798400706004
DOIs
StatePublished - Jul 3 2024
Event29th Conference Innovation and Technology in Computer Science Education, ITiCSE 2024 - Milan, Italy
Duration: Jul 8 2024Jul 10 2024

Publication series

NameAnnual Conference on Innovation and Technology in Computer Science Education, ITiCSE
Volume1
ISSN (Print)1942-647X

Conference

Conference29th Conference Innovation and Technology in Computer Science Education, ITiCSE 2024
Country/TerritoryItaly
CityMilan
Period7/8/247/10/24

Keywords

  • code quality tools
  • embedded systems
  • RTOS
  • static analysis

ASJC Scopus subject areas

  • Management of Technology and Innovation
  • Education

Fingerprint

Dive into the research topics of 'Embedded-check a Code Quality Tool for Automatic Firmware Verification'. Together they form a unique fingerprint.

Cite this