Master's Thesis

Are you an engineering student with focus on programming? Take a look at our master's thesis proposals!

The master’s thesis work is done at our development department in Uppsala. You will have someone of our competent and helpful software engineers as your supervisor.

The master’s thesis work typically consists of these elements:

  • Make an overview of the problem by means of literature studies
  • Identify the most interesting alternatives for possible solutions by means of a theoretical evaluation
  • Make real implementations of the most viable solutions and measure/estimate the performance/usefulness
  • Compare the results with existing results in the field
  • Draw conclusions
  • Write a report and make an oral presentation

If this sounds appealing and you have any special interests or proposals, please let us know. Below are some guidelines for how to come up with proposals.

Master’s Thesis Proposals

Sometimes IAR has prepared master’s thesis proposals, which we publish on this page. 

However, we are not limited to these suggestions; we are open for discussing various ideas.

To prepare yourself:

  • Read about IAR products and technologies 
  • Read through the summary of previous master theses at IAR, hopefully you can get some inspiration from earlier Master’s Theses.

Send us an email with the following information: 

  • Your interests, if there are any courses during your studies that you found specifically interesting, and what was appealing with them
  • Project ideas and how that connects to our technology domain
  • Your CV
  • Personal letter

Contact us

Earlier Master’s Thesis at IAR

  • Measuring and modeling the power consumption in embedded systems (2017)

IAR has debug probes that can both measure power consumption and collect execution trace data. This thesis investigated how to combine the capabilities of the probes with signal processing and a consumption model to compute the power consumption of individual system parts.

  • A comparison between Packrat parsing and conventional shift-reduce parsing on real-world grammars and inputs (2014)

This thesis was about implementing a parser-generator that generated a packrat parser and compare the performance with the currently used parser-generators at IAR.

  • Amazing trace (2008)

Implementation of an execution history that entails decoding and analyzing a recorded instruction trace, and in particular the design and implementation of a data structure which can encapsulate the entire state of the target system, including memory and registers, over time, and to do this efficiently because the trace buffer can contain data for hundreds of thousands of instructions.

  • Transparent data compression and decompression for embedded systems (2008)

Typically, initialized data is copied from ROM to RAM during system startup. This thesis investigated different compression algorithms where the initialized data was compressed by the linker and then decompressed by the system startup code (assuming compressed size + size of decompressor < uncompressed size).

  • Optimizing stack frame layout for embedded systems (2000)

The amount of stack space that a function uses is quite important in an embedded system where resources typically are constrained. This thesis investigated a method of reducing stack usage where variables can share space on the stack.

  • Global instruction scheduling for embedded systems (1997)

Many algorithms for global instruction scheduling (scheduling that crosses base block boundaries) result in code being duplicated between various base blocks. Because memory is strictly constrained in embedded systems, some algorithms that do not duplicate code were examined, to see if the code size could be less affected.

We do no longer support Internet Explorer. To get the best experience of, we recommend upgrading to a modern browser such as Chrome or Edge.