Student Opportunities

Your next engineering challenge starts here.

Explore Bachelor's and Master's thesis projects and summer job opportunities in embedded software, compilers, debugging, testing and AI. 

Have an idea of your own? These projects are starting points, not fixed briefs. We’re happy to discuss your interests and explore how we could shape a project around them. 

 

 

Summer Job Ideas

Bring C++ Documentation into the IDE

Bring standard library documentation directly to developers while they write code. Integrate cppreference.com into the IDE to provide context-aware information and quick reference lookups.

Making Debug Probe Switching Easier

Improve the usability of a crossbar switch that connects multiple debug probes to target boards in IAR's test environment, making hardware setup and test integration easier. 

Improving Debugging for Zephyr RTOS

Explore ways to streamline debugging for the Zephyr real-time operating system by improving support for its native debugging workflows through West. 

Visualizing Data Structures in the Debugger

Build an interactive graphical view of data structures that updates as the program runs, helping developers understand complex data directly inside the debugger. 

Building Smarter RTOS Debugging Plugins

Use the OSEK Run Time Interface (ORTI) standard to build metadata-driven plugins that display task and system states during debugging. 

Automating UI Tests with Squish

Convert manual testing procedures into automated, reliable test suites using the Qt Squish framework, helping improve test coverage and reduce repetitive work. 

Exploring Remote Debugging Through a Web Browser

Investigate the feasibility, security and performance of accessing physical debug probes through WebUSB, with the goal of enabling debugging directly from a browser. 

Using AI to Understand Logs and Traces

Develop AI-powered tools that scan system logs and communication traces to identify anomalies and interesting patterns, helping developers investigate problems more efficiently. 

Thesis Project Ideas

Bringing Binary Analysis into Embedded Development Tools

Explore how modern binary analysis can be integrated with compilers and debuggers to help developers identify complex faults in embedded software.

Visualizing Memory in Embedded Systems

Investigate ways to visualize heap usage and other memory information in debugging tools, giving developers better insight into how embedded applications use memory. 

Comparing Debuggers Through Differential Testing

Compare IAR's C-SPY debugger with competing tools to uncover behavioural differences, find bugs, improve usability and identify opportunities for new features. 

Making Embedded Debugging Configure Itself

Investigate how information embedded in compiled binaries can automatically configure debugging environments, including simulators, debug probes and peripherals. 

Testing Compilers for Unusual Architectures

Adapt established compiler test suites to LLVM targets with unusual data layouts, such as architectures using 24-bit characters or integers. 

Simulating and Debugging Embedded Peripherals

Explore how SystemC Transaction-Level Models (TLM) can be integrated into debuggers and simulators to make hardware peripheral simulation and system verification more efficient. 

Detecting Memory Errors Inside the Simulator

Investigate how an instruction simulator can detect memory violations at the simulation level without changing the application's code or memory layout. 

Making AI Debugging Tools More Efficient

Design efficient interfaces for AI agents that interact with embedded debuggers, optimizing token usage to make automated debugging more practical and cost-effective. 

Finding Better CRC Optimizations in LLVM

Investigate how compilers optimize CRC algorithms, including techniques such as replacing bit-by-bit loops with table-driven approaches, and evaluate their impact on embedded code efficiency. 

Comparing LLVM's Code Generation Strategies

Evaluate LLVM's GlobalISel and SelectionDAG approaches on embedded targets, comparing generated code size, execution performance and the effort needed to maintain each. 

Finding the Best Compiler Settings Automatically

Explore ways to automatically discover effective combinations of LLVM optimization parameters and improve code size or performance on resource-constrained embedded systems. 

Exploring WebAssembly for Secure Embedded Software

Investigate whether WebAssembly can provide software isolation and virtualization for embedded systems, helping separate safety-critical tasks while enabling code reuse. 

Found something interesting?

Register your interest and tell us what you'd like to explore. Not sure which project fits? That's fine too.