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.
- 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.