Engineer Internship: Using AI to improve the readability, maintainability, and robustness of NFC firmware code F/M

NXP

Job Summary

This engineering internship focuses on leveraging AI to enhance NFC firmware code. Key objectives include identifying and removing dead code, analyzing and improving embedded real-time system issues like unprotected shared resource access, deriving a static programming model from critical hardware abstraction layer implementations, and evaluating AI's effectiveness in interpreting and resolving Coverity static analysis reports to streamline bug triage processes.

Must Have

  • Final-year Master’s student in electronics, robotics, or software engineering
  • Strong programming skills in C (low-level) and Python (high-level)
  • Solid understanding of real-time systems and processor architecture

Job Description

Internship Goals

1. Identify and Remove Dead Code and Compilation Flags in NFC firmware repository

  • Use static analysis and AI-assisted code navigation to detect unused code paths and obsolete compilation flags.
  • Propose and validate clean-up patches to streamline the codebase and improve maintainability.

2. Analyze Typical Embedded Real-Time Issues

  • Investigate common embedded system challenges such as:
  • Unprotected access to shared resources (e.g., global variables, hardware registers).
  • Unsuitable processing within Interrupt Service Routines (ISRs).
  • Use AI tools to detect and suggest improvements for these issues.

3. Derive a Static Programming Model from Critical HAL Implementations

  • Focus on HW abstraction layers modules that are key for our products (Power, Clock and IO controllers).
  • Analyze usage patterns and derive a static programming model for various use-cases.
  • Validate the model against hardware documentation (e.g., user manuals, reference guides).

4. Evaluate AI Capabilities on Coverity Reports

  • Explore how AI tools can assist in interpreting and resolving issues flagged by Coverity static analysis.
  • Assess the relevance and accuracy of AI-generated suggestions.
  • Propose a workflow to integrate AI into the static analysis and bug triage process.

Candidate Profile

  • Final-year Master’s student in electronics, robotics, or software engineering.
  • Strong programming skills in C (low-level) and Python (high-level).
  • Solid understanding of real-time systems and processor architecture.
  • Comfortable working in an international team environment.
  • Passionate about programming and eager to explore new technical domains.

3 Skills Required For This Role

Oops Game Texts Python

Similar Jobs