Instructions for Master's Thesis in Software Engineering

(Last updated 02.04.2010 )

Important: Read these instructions before the first meeting with the supervisor.

These pages contain general instructions for Master's Theses in the area of software engineering at SoberIT. The instructions add to the instructions from Aalto University, the Faculty of Information and Natural Sciences, Degree Programme of Computer Science and Engineering and Department of Computer Science and Engineering.

Practical details vary from professor to professor. These are the instructions for the theses supervised by Tomi Männistö. The purpose of these instructions is to help you in starting with and working on your thesis project. As each thesis project involves some common characteristics as well as some unique ones, the idea is not to follow all the instructions literarily. Instead, it is assumed that you have read and tried to understand the instructions in the context of your thesis project before a meeting with the supervisor. Any unclear issues are then discussed and clarified in the meeting.

Summary of important action points

Here is a list of the main action points related to doing your thesis project. They are presented in the order that may differ from the order you do them.

Roles

Supervisor and instructor(s)

Supervisor is a professor from Aalto University.

It is recommended that an instructor for the thesis comes from the organisation you are doing your thesis for. There are instructions for the instructor in Finnish: ohjeet diplomityön ohjaajalle.

Simplified and in short, the role of the supervisor is to ensure that the thesis complies to the requirements from the university point of view, including the theoretical and research methodological basis, quality and style of technical reporting, etc.

The responsibilities of the instructor include the content of the work, e.g., the relevance of the problem from the viewpoint of the target organisation and providing support to the student in this respect.

There can also be a second instructor, for example, if the topic of the thesis is closely related to a research within SoberIT, a researcher from the lab can act as an additional instructor. The role of the second instructor could in such a case be to guide the use of research methods or help in relating the work with the existing research in the field.

Student

Master's Thesis is not a job for life, but when well planned and implemented just a somewhat larger and more demanding than a typical exercise. That is, you simply need to set your thesis clear (sub)goals, turn those to action items, schedule them and keep the schedule!

Making progress and keeping the schedule is your responsibility. Well, in addition to also doing the actual work and writing the thesis.

It is also your responsibility to maintain the status of the project clear and communicate the status with your supervisor. Therefore, write a short memorandum on each meeting with the supervisor (a few lines in email is enough) summarising what was discussed and agreed upon.

Starting your thesis project

First of all, familiarise yourself with the relevant instructions. In particular the instructions of the study programme, the official forms required in the process and naturally these instructions, e.g.:

Think about the topic you would like to address in your thesis project. If you already know your instructor, e.g., from the company in which you are about to do your project, discuss with her or him the topic, schedule, goal and general conditions for the project from perspective of the target organisation. Summarise your idea(s) about the topic and problem on one page.

Make a reservation for the first appointment with the supervisor by contacting Johanna Lehtola (firstname.lastname (at) tkk.fi).

In the first meeting with the supervisor, you will then discuss the topic and its suitability for a thesis project, go through the first steps in starting the work, agree on a kick-off meeting with the instructor(s), and any other practical matters relevant at that point.

In the kick-off meeting with the instructor the following topics can be addressed: the goals from the point of view of the target organisation, the schedule and milestones for the project, instruction and guiding practices to be followed, the criteria for judging the success of the project, the required paperwork, and any other business related to the thesis project.

Meetings with supervisor and instructors

Instructor(s) and the student agree on the practices for the thesis project, for example, regular status meetings and such.

The meetings with the supervisor are organised as needed. Typical meetings in the beginning are the first discussion on the topic and the kick-off meeting with the instructor(s).

During the project there can be a meeting, for example, one after the theory (literature) and research methods and a second one when the results are there and it is the time to start analysing them in detail. These are just examples, and sometimes no meeting is required as email may be sufficient.

Typically a meeting is in place when the manuscript is ready; and the instructor agrees this is the case. Before this meeting the manuscript is delivered to the supervisor and the purpose of the meeting is to go through the supervisor's comments.

In each meeting, next steps are discussed and agreed upon. The student writes a short memo on each meeting, most importantly the action points, and emails the memo to the supervisor.

Working on your thesis project

In the following, the phases of a thesis project are roughly described and some general good practices and potential pitfalls are addressed. Read through all the instructions, as they are not necessarily in the order you might apply them.

Basics for doing a thesis project

In the beginning you need to gain basic understanding on relevant research methods you're going to apply. This is important to have as a solid background for the later phases of the project, as it is impossible, for example, to correct the research methods after the actual work has been done and while writing the thesis, if you then realise that something should have been done differently.

It is also highly recommended to visit the library and find some good theses on a related topic or similar research setting, read them and try to understand how they have been done, what makes them good ones and on what aspects you can improve.

At the same time find out some material and refresh your knowledge on technical scientific writing. This includes the general style and language of writing, typical structural issues as well as guidelines and conventions, e.g., for literature references and such.

Selecting the research approach

Selecting the research approach for your thesis requires some attention. You should familiarise yourself with the typical choices of research approach for a software engineering thesis project (e.g., design science / constructive research, case study, action / participatory research, or perhaps a literature survey). The default preparation is to have the course T-76.5050 completed before starting your thesis project.

Then you discuss your research approach with the supervisor before starting the actual work. Before the discussion, outline your study design, i.e., the particular instantiation of the research approach in you thesis project.

Doing and reporting

The actual work in your thesis project may consist of building a prototype, testing a particular method in a company or gaining understanding of something relevant by means of interviewing people, for example. The work is mainly independent work of the student that is instructed by the instructor.

With the supervisor, the student can have separated discussions on typically topics related to research methods, writing the thesis, and such.

It is advisable to start writing the thesis already in early phases of the project.

When the thesis manuscript is ready from your perspective, you first give it to the instructor(s) to read. After taking into account their comments, you give the manuscript to the supervisor. According to the comments from the supervisor, you make the final revision of the work and once done, the supervisor gives you the permission to bind the work.

Structure of thesis

There are many ways to organise your thesis document. In the following, some typical issues are addressed. First some general guidelines and thereafter typical sections of a thesis document are given in a typical order they may appear. In your particular case, it may well be justifiable to adopt another order, have different sections at the highest level, or so. However, be prepared to justify your choices; regardless whether you adopt (pieces of) the structure explained here or one you have found elsewhere.

A very good piece of advice can be found from the instructions "How to Organize your Thesis" by Prof. Chinneck (available here also in pdf just in case). The instructions are only a few pages, so do read them.

Those instructions also cover PhD theses, so some of the points may not be relevant to your thesis as such. Furthermore, there is some difference in the structure to instructions on these pages, for example, regarding the absence of a separate Discussion section, which I personally highly recommend to be included in your thesis.

General process for thesis project

The figure below gives a general idea of a research process in software engineering and will be used as a backbone for the guidelines for a research project explained below.

SE research pic picture

Problem and previous work

You need to make it clear what is the problem you are specifically addressing in your thesis. Typically the problem is stated in the form or research question that your project starts investigating and looking answers for.

Typical sources for the problem are the company for which the work is being done or the problem can be one identified from the literature. The former is typical in a practical thesis project in the industry and the latter for a more scientific topic.

The industrial context is extremely important for a thesis topic in software engineering as that provides the relevance for the problem. Therefore, you need to describe the context, for example, the company, business unit or project that your thesis addresses.

In addition, you need to familiarise yourself with the previous work on the topic or close to it. In scientific research, the role of the previous work is to give background for the work and especially explicate the scientific novelty of the work. However, in a Master's thesis scientific novelty is not required. Therefore, the purpose of previous work is somewhat different. It may be the source of existing methods for addressing a particular problem, used as a means to show what is reported in different sources and analysed here and used as a basis for this work.

So you need to understand the problem both from the perspective of the company and the perspective of the previous work. On this basis you then conceptualise the problem and express it in the form of your research questions.

Research questions

Coming up with good research questions is demanding. It is also typical that the research questions evolve towards the final form during the thesis project, and that is ok. However, that does not mean that you should start without any research questions and only write them afterwards, as by doing so you would most probably have a poor focus during your work and your results would be more accidental than anything else. The research questions define what exactly you are looking for in your thesis project.

To answer your research questions, you need to select a suitable research approach from the literature on research methods. Before committing to any particular research method, discuss the potential approaches with the supervisor.

Be careful with your wording of the research questions, because your results are judged against them. In fact, you are in a good position, as you can yourself set the exact criteria for judging your work. Of course, you the research questions need to be interesting and relevant, not just easy to fulfil. The whole point in your thesis is to build a consistent line of thought from the problem to the solution and conclusions you make.

The goals of your research can also be set in the form of hypotheses. However, the research questions are used in these instructions, as it is generally very hard to prove much anything right or wrong in software engineering. Nevertheless, if you are, for example, planning to conduct a controlled experiment, the use of hypotheses would be natural.

Study design

Once you know your research approach, you need to design the details of your research. This is called here the study design. In short, the study design is your instantiation of the research approach describing the details of what you do in your research project in order to answer the research questions.

When describing your study design in your thesis be concrete. That is, describe what you did, how did you collect the data, e.g., you can mention the sources of information and number of informants, give an overview of their roles, show the artefact created etc. The idea is to describe your instance of the research approach and methods you use as the basis. The common mistake is to leave the description on the high level of abstraction on which the research methods are described in the literature and not to actually describe your own study at all.

The work

According to your study design, you do your work. Iteratively, adjusting the research questions and fine tuning the study design as needed.

As a result, you get your results. It is important that you follow the advice for your research approach so that you that your results stand on a solid methodological foundation, maintaining the chain of evidence from any data you collect to the conclusions your make. In most cases, it is a good practice to keep a research diary and write reflective memos during the research. Furthermore, if you interview people, whether it is for example, for understanding the problem, collecting data as a part of your main research activity or validating your results within the company, it is important to record the sessions. On the other hand, if your approach is more constructive, it is good to make notes on the rationale for your design decisions.

Results

In your thesis document, you have a section or sections for reporting your results. A general guideline for a Results section is to write the facts, e.g., what you built or what you observed and what you analysed from the data observed. You should postpone commenting your own ideas or opinions and speculating to the Discussion section later on. While reporting the results, you should keep looking back to your research questions to see that you write about answering them. You may need to rephrase your research questions, if your results do not provide answers to them as specified in the beginning, as it may well be that a different wording may better describe what your results. Just remember to maintain the consistency between the different part of your thesis document.

Discussion

In Discussion, you take a look at what you achieved as reported in Results (not necessarily in the order shown below).

You reflect your results to the research questions basically to discuss how well you were able to answer them. You need to very honestly bring up any potential problems in terms of the validity of your results. For example, if you interviewed some persons to understand the problems, you need to think carefully whether you had the right person to talk to, they understood your questions correctly, you understood their answers, you have made correct analysis and conclusions of the answers, and so on. If your results are a designed artefact, you would need to explain how how well the design solves the original problem and how do you know that.

You will also explain all you did to improve the validity of your results, such as justification for the selection of the interviewees, how you tested your questions, the analysis process you used, have you presented the results some people asking if they agree with your conclusions, how you tested, measured or otherwise validated your design, etc. Your research approach and study design play an important role here. Nevertheless, remember to be humble with your results, as absolute truths are not that common in software engineering research.

You also discuss your results in the light of related work. That is, what similar work have others done and how do your results compare with theirs.

The term Previous work is used in these instructions to refer to the literature that is presented as a basis for you work, whereas the term Related work refers to the comparison of your results with the work of others (and thus placed in the document after the Results section). Depending on your topic, it may be that Previous work is rather brief and does not deserve a section of its own, but is embedded in the Introduction. Or alternatively Related work may be embedded in Discussion. So, it depends on your topic whether it makes more sense to present the literature mainly as Previous work or as Related work, or to have them both in a prominent role.

Given the context for your work, you should also consider generalisability of your results, for example, if you learnt some lessons in your case, might those be applicable to other companies as well. Think what was special in your case and what seems typical or common to other similar cases. Give your suggestions and justify them.

Conclusions

Write concluding remarks on your work with the perspective the reader has at this point, that is, after the results and discussion. Summarise briefly what you did. It is important to think over and clarify the central results / main contributions of your work and write them crystal clear in Conclusions.

Finally, some ideas about new research questions may have emerged during your project. You can now give some suggestions how you or someone else could carry on doing further research based on your work.

Page budget

As a rough guideline you can start with the following page budget: 15-20 pages for Previous work, 15-20 for Results and 15-20 for Discussion. Now, as a good total target is 50-70 pages, that would leave, for example, some 5 for Introduction and 2-3 for Conclusions. With good justifications, the numbers can be different.

With a page budget, you get some idea what to write, and perhaps more importantly, what not to write. For example, 20 pages for Previous work is not that much and you need to get to the point pretty fast. Be aware not to write a textbook on the subject or a summary of some reference manuals. Select the papers to include in your literature sections on the basis of their relevance to your work and their research quality; try not to cover too much general background knowledge.

Common minor things seen too often and thus listed in here

Make sure you understand the structure of your own thesis, especially the roles of each section. See above and check IMRAD for reference.

Find an appropriate reference style and use it consistently, preferably (Kurppa et al. 2009) kind.

If a figure is not your own contribution, make sure you refer to original source in the caption. You may use an expression "adapted from" or similar to indicate you have redrawn the figure differently or otherwise made modifications.

Table caption on to of the table, figure caption under.

E.g., ", e.g.," especially in latex, as ". " has special semantics.

Isn't -> is not, write them all out and be careful with "its".

Wrapping up

There are separate instructions on the last phases of a thesis project in the web pages of the study programme. They are not repeated here.

As also the supervisor thinks that your thesis is close of being complete, you can start arranging the official thesis presentation and "kypsyysnäyte" (if applicable).

In SoberIT, we have a common times for giving the presentations and it is customary to have the instructor(s) present and take part in the discussion.

You should prepare your presentation so that you can deliver it in 20 minutes. Typical topics to present include: context for you thesis project, the problem, your approach to address the problem, highlights of your results, some discussion and conclusions. After your 20 minutes, there will be 10 minutes for questions and discussion. It is important to respect the times, as others' may have organised their calendar according to the planned schedule. Contact Johanna Lehtola (at tkk.fi tai 09 451 4851) to arrange a time for the presentation.

Kypsyysnäytteen suorittamisen käytännön järjestelyt ja valvomisen hoitaa Johanna Lehtola (at tkk.fi tai 09 451 4851).