Master Thesis Projects

The Software Engineering Research Group offers a number of thesis projects for Master students in various research areas. The goal of a Master's thesis project is to provide an answer to a relevant research question in software engineering. This typically involves the construction or extension of a prototype tool used to evaluate your research hypotheses and a written thesis to report, interpret, and discuss the results. A thesis project is typically taking 6-9 months full-time work. More information on the procedure for performing a Master's Thesis project at the University of Klagenfurt and all forms are available at Wissenschaftliche Arbeiten (in German).

Available Projects

List of topics in which we are offering a number of Master Thesis projects:

We further offer a number of Master Thesis projects in collaboration with companies. Currently available projects are in collaboration with:

Kristl, Seibt & Co

Thesis projects address various topics in Software Evolution and Software Quality Analysis including:
  • Analyzing and visualizing dependencies between software modules
  • Hotspot detection to indicate software modules that should be tested more rigorously and/or refactored
  • Analyzing “side-effects” of code changes and how to prevent them
  • Static code analysis to detect dead-locks


Thesis projects address various topics in improving the maintainability of the applications running on their SAP platform:
  • Hot-spot detection, change, and change-coupling analysis between SAP ABAP objects
  • Performance analysis and establishing of rules and guidelines to improve performance

For more information on the Master’s Thesis projects see also announcement @TEWI Blog and/or please contact Martin Pinzger.

Thesis proposal

The first step of any MSc thesis project is to write a thesis proposal. This document serves as a guide during and as a reference for your thesis project.

A thesis proposal should contain

  • Brief introduction into the subject field
  • Scientific motivation for the project (why is it relevant?)
  • Research goal and list of (initial) research question(s) that will be addressed
  • Initial planning and staging of the project - what are the expected deliverables and milestones to reach them, when will you start/end. Deliverables are a prototype of a piece of software, an algorithm, an advice on how to treat a particular problem, a documented architecture, etc.
  • Risk analysis, or those (external) events that could have an impact on your planning
  • Contact details for the participants (student, supervisor, and when appropriate also the company supervisor)
  • Supervision details: generally an n-weekly schedule for meetings to discuss findings and progress that you've established togerther with your university (and company) supervisor(s).
  • When appropriate details regarding intellectual property and allowance (sometimes these are arranged in a separate legal contract)
  • List of courses that still need to be followed and/or final exams that need to be taken (not so much as guard for entering the thesis phase but to document a potential impact on the planning)
The proposal is written in English so international students can read, and build on, your work. It is important to note that the details and planning are not cast in stone for the complete duration of the thesis project. If initial results show that there are good reasons to improve on the initial ideas, then plans can be changed. In such a case, the proposal can be updated and serve as a track record that documents and motivates such changes.

How to write a Thesis?

Concering structure and contents you might follow the guideline by Prof. John W. Chinneck's web site.

Regarding the style of writing a Diploma Thesis we refer the student to the books:

  • "The Elements of Style", Strunk and White.
  • "Writing for Computer Science" of Justin Zobel.
The web site of Prof. Henning Schulzrinne contains further useful hints that should be considered.

Topic revision: r15 - 2015-12-01 - MartinPinzger

Copyright © 2012-2017 by the Software Engineering Research Group, University of Klagenfurt, Austria