Lunds Tekniska Högskola

Denna sida på svenska This page in English

CS MSc Day June 3 Schedule!


Twenty-one MSc theses to be presented on June 3, 2016.

June 3 is the day for coordinated master thesis presentations in Computer Science at Lund University, Faculty of Engineering. Twenty MSc theses will be presented.

The presentations will take place in the E-house, rooms E:2116, E:2405 and E:4130. A preliminary schedule follows.

Note to potential opponents: Register as opponent to the presentation of your choice by sending an email to the examiner for that presentation ( Do not forget to specify the presentation you register for! Note that the number of opponents may be limited (often to two), so you might be forced to choose another presentation if you register too late. Registrations are individual, just as the oppositions are! More instructions are found on this page.



PRESENTERJohan Calvén, Zimon Kuhs
TITLEIterative Symbol Simplification
SUPERVISORSNiklas Fors (LTH), Jon Sten (Modelon AB), Jonathan Kämpe (Modelon AB)

The aim of the study is to develop an extensible algorithm framework for a compiler.

The idea is to allow for different types of symbolic simplification algorithms to iteratively work on systems of equations in order to improve their structure such that compile time is reduced, and that simulation time of the resulting code is reduced. Allowing algorithms to interact based on the most recent form of an equation is a complex task, which is why a framework is needed. This thesis implements such a framework in a compiler for the algorithms alias elimination and variability propagation, and also designs a canonical form for equations to alleviate the implementation of new algorithms to the framework.


PRESENTERDaniel Eliasson
TITLEUnits of Measurement in a Modelica Compiler
SUPERVISORSNiklas Fors (LTH), Jesper Mattsson (Modelon), Jonathan Kämpe (Modelon)
ABSTRACTModelica is a declarative object-oriented language for describing mathematical models. Modelica models are used for simulation and optimization of systems and processes. The models are described using variables and equations. It is possible to associate units of measurement to variables, for example, variable x is in m/s. This thesis presents a way to analyze units in equations to find errors. This approch has been implemented in the compiler in 


PRESENTEREmin Gigovic, Philip Malmros
TITLEUsing JavaRAG in an Xtext Editor
ABSTRACTHaving a specialized editor or IDE has become commonplace for many programming languages. Smaller languages, especially domain-specific ones that normally have very narrow usage areas, often lack such convenience features due to their naturally small user base. Tools for implementing editor support for these languages are called language workbenches. Unfortunately these often lack features for more advanced semantic analysis, as they must able to handle a wide range of language specifications. Reference attribute grammars (RAGs) can be used to formulate powerful semantic analysis and might, if integrated with a language workbench, help alleviate this problem.

JavaRAG is a library that can be used to add RAGs to Java based projects, which means it should be possible to integrate with the language workbench Xtext, which is built on Java. This thesis has evaluated this integration of JavaRAG into Xtext to see how beneficial the addition of RAGs would be when constructing an editor. To do this we implemented three editors, two relatively equivalent ones for a simple language where one only used Xtext while the other also made use of JavaRAG. The last editor covered a subset of a more complex language, where more advanced parts of JavaRAG could be used.

Finally we concluded that JavaRAG could be integrated into Xtext without issue, and that it offered beneficial functionality for more complex error-checking problems where Xtext’s own features were sometimes lacking.


PRESENTERElin Bäcklund
TITLEWeb Accessibility Quality Assessment at a Major Swedish Industry Manufacturer
SUPERVISORSBjörn Regnell (LTH), Johan Linåker (LTH), Niclas Lillman (Scania), Mattias Hyll (Scania)

There is an explosive growth in on-line information and interactive services provided on the Web. Web accessibility refers to designing these websites so that all people, no matter disabilities, can access Web content. Recently in Sweden, laws and regulations have been imposed, requiring private corporations to ensure an accessible digital work environment.

Scania is a major Swedish automotive industry manufacturer with more than 44.000 employees in 100 countries and hundreds of Web based solutions for internal communication. To ensure that all Scania co-workers can access work related Web content, this master thesis aims at providing Scania with guidelines and quality requirements for a continuous sustainable web development. The results are based on requirements from society, business value assessment and action research at Scania.


PRESENTERMattias Mellhorn
TITLEBetter communication in IT-projects with the MAPS Method (A method for communication channel mapping developed with Design Science)
EXAMINERBjörn Regnell
SUPERVISORSElizabeth Bjarnason (LTH), Tomas Ersson (Scania CV AB)
ABSTRACTBackground: As IT becomes a integrated part of more and more products and a greater part of product development process the need for good practices to manage IT projects and software development increases.

Purpose: The aim of this work is to improve the communication in IT-projects and thus the likelihood of a project being successful. Our focus has been to improve the identification of relevant stakeholder, the communication of project goals and the coordination within an IT-project.

Theoretical framework: The frame of reference for the new method includes; what makes a IT-project successful, what the main challenges in IT-projects are, stakeholder identification, communication, coordination in IT-projects, and communication distances.

Method: The new method have been developed with the design science framework. The problem area and what research that had previously been conducted was investigated in a literature study. The artifact, MAPS method, was then constructed based on the previous research trough a creative process. When the artifact was completed it was evaluated in a case study by applying
the artifact to a recently closed project at Scania in Södertälje.

Results: The thesis have resulted in a new communication mapping method called, MAPS Method. The new method can be used to identify stakeholders and in the case study it identified stakeholders not present in the project documentation. The presence of communication distances that could lead to mis-understandings in the communication channels was identified by the MAPS method. The communication channels where each of the stakeholder in the case study got their information and progress updates about the project goal was also found. The information gained by applying the MAPS method could be used as input for the communication plan and the configuration plan. Most of the people interview in the case study agreed that the MAPS method would have provided a benefit if it had been applied to the project that was used in the case study.


PRESENTERErik Nossborn
TITLEMassively parallel BVH construction using mini-trees
EXAMINERMichael Doggett

The Bounding Volume Hierarchy (BVH) is an acceleration data structure used in ray tracing, allowing for faster intersection tests between rays and triangles. The goal of this thesis is to take one algorithm for rapidly generating such data structures, the Bonsai algorithm, which was initially implemented on a CPU, and instead implement it on a GPU.



PRESENTERFredrik Gustafsson
TITLEMerging customer relationship management data
ABSTRACTWorking distributed is increasingly important today with technology being more and more portable while connectivity still is lacking in some areas. Cellphones and laptops are increasingly in use outside the office with connectivity to internal office services being unreliable, either due to lacking speed or inability to have a connection.

Different solutions exist. One is a client-server setup where the data traffic can be minimized. Another is to use a distributed system where each system is full functionally in its own but needs synchronizing with other copies of the system. Distributed work requires duplication of data and  therefore, also a need to merge data.

This paper has studied different use cases for altering CRM data and how three different types of CRM programs solve these cases. A custom merge algorithm that solves all studied cases has been designed and implemented as a proof of concept.  


PRESENTERMax Andersson
TITLEInvestigating Different Register Allocation Techniques For A GPU Compiler
EXAMINERFlavius Gruian
SUPERVISORSJonas Skeppstedt (LTH), Dmitri Ivanov (ARM SWEDEN)
ABSTRACTRegister allocation is one of the most important parts of a compiler back-end. For this reason, there have been much research on how to efficiently perform it. Two of the most popular ways of doing it are Linear Scan and Graph Coloring. Additionally, it is possible to perform register allocation during instruction scheduling, which is an earlier pass. The reasearch has however assumed normal registers, which a CPU uses, but a GPU uses vector registers instead. The reason for this is mostly because computer graphics heavily uses vectors to model the scene.

This thesis attempts to find out how vector registers affect the possibility to efficiently perform these techniques, and how they perform. Furthermore, an extension to the commonly used Chaitin-Briggs algorithm is also presented which, in theory, should reduce the amount of spill code generated by the compiler.


PRESENTERCaroline Brandberg
TITLELLVM-Based Fortification for Kernel Drivers
EXAMINERFlavius Gruian
SUPERVISORSJonas Skeppstedt (LTH), Henrik Theiling (SYSGO)

In today’s operating systems, drivers are linked with the kernel where handling pointers and performing memory accesses must be considered with much more care than in application user space.

This thesis focuses on two issues. First, memory access to user space must never be done directly, because the access may fault due to insufficient access permissions or unmapped pages. Second, pointers entering via system calls must be checked prior to their use to prevent a malevolent user from exploiting kernel drivers to access kernel space for them.

The proposed solution uses the type system of Clang combined with ana- lyzes on the generated LLVM intermediate representation, both in the purpose of performing static analyses to produce valuable messages to the developer during compile time, but also to insert robustness assertions.


PRESENTERFredrik Paulsson, Shan Senanayake
TITLEA Quantitative Evaluation and Proposition of Cache Policies in Mobile GPUs
EXAMINERFlavius Gruian
SUPERVISORSMichael Doggett (LTH), Fuad Tabba (ARM Sweden AB)

Caches today are an important part of mitigating the performance gap between processors and memory which has increased during the last 50 years. Cache policies are vital for the performance of caches and their mission is to select the data which should be contained in the cache and are therefore important for the performance of processors. Graphics processors are very memory bandwidth intensive and relies heavily on caches to increase performance. Much research of cache policies has been done in the context of general processors, however there exist little research in the context of graphics processors.

In this thesis we perform a quantitative evaluation of a wide range of cache placement and replacement policies. Based on our evaluation we propose some new policies and we also show that the common least-recently used cache policy performs very well in the context of graphics processors and the work-loads they are subjected to.


PRESENTERMattias Simonsson
TITLEMulti-layered G-Buffers for Real-Time Reflections
EXAMINERFlavius Gruian
SUPERVISORSMichael Doggett (LTH)
ABSTRACTThis thesis evaluates the use of screen space reflections combined with a deep G-buffer in computer graphics applications. Both visual inspection of rendered images and computational methods are used to evaluate the quality and performance of the reflections.

Rendering reflections using screen space methods are generally faster than rendering them with other methods. The main drawback is that only parts of the scene that are visible to the viewer can reflected. A deep G-buffer negates a part of this drawback by allowing obscured parts of the scene to be used for computing the reflections.

We implement screen space reflections using ray casting on the GPU and construct a deep G-buffer using depth peeling. Additionally, we approximate reflections on rough surfaces using Monte Carlo methods.

We show that a deep G-buffer does improve the quality of screen space reflections but greatly increases the time required to render the scene.


PRESENTERRikard Olajos
TITLEReal-Time Rendering of Volumetric Clouds
EXAMINERFlavius Gruian
SUPERVISORSMichael Doggett
ABSTRACTRendering volumetric clouds is a performance intensive process which makes it difficult to use them in real-time applications. At the same time, the need for volumetric clouds is evident as game developers looks for new places to increase the realism of their games. Skyboxes and flat textures works well in 3D scenes where the camera is expected to be far away from the clouds and not move over large distances. But in open world games where the position of the camera cannot be assumed, skyboxes give a static impression and flat texture can give artefacts.

This thesis explores different techniques to save computational time when implementing volumetric clouds for real-time rendering. We start from a realistic implementation and from there appose different approximations and methods to see which performance gains can be accomplished and to which costs.


PRESENTERJohan Holm, Eskil Petersson
TITLEImplementation of a Business Intelligence System: a Case Study
EXAMINERFlavius Gruian
SUPERVISORSPer Andersson (Lth), Rickard Nygren (Grade AB)
ABSTRACTAs data becomes more accessible and an increasing number of organizations seek to monitor their business activities, the need for reliable Business Intelligence (BI) solutions arises. This thesis is centered around a small/medium-sized company that provides E-learning solutions. A new BI system is requested with the main purpose of providing an overview of data used for licensing. In addition, the user activity among customers is of interest as a measure of customer satisfaction. The thesis applies theories of Data Warehousing and data analysis to the aforementioned case. Different tools suitable for an implementation are compared and evaluated. Thereafter a prototype using the chosen tool is developed and applied to enterprise data. A Bus Architecture implemented on a relational database is deemed to be an appropriate design for this type of project. The quality of the prototype is evaluated through its usability and ability to meet business requirements.



PRESENTERSAdam Dalentoft, Simon Wallström
TITLEEmulation-based software development for embedded systems
EXAMINERKrzysztof Kuchcinski
SUPERVISORFlavius Gruian (LTH), Gustav Sällberg (Axis Communications)
ABSTRACTSoftware development for embedded systems has a lot of dependencies on the hardware of the system. To possibly reduce the lead time and ease the development process, an emulated model is investigated. This model is examined in terms of how it fits in the platform transition, daily development and testing processes. The results indicate that an emulated model is a powerful tool for a software developer. The emulator let developers start developing software before physical hardware exists and allows for peripheral exploration in the emulated environment. Results from substituting physical labs with emulators for testing yielded promising results in terms of execution speed but as of now it does not scale very well. The conclusion is that hardware emulation in embedded software development has a great potential to improve the overall process.


PRESENTERSEmil Pettersson
TITLEUndersökning av Constraint Programmerings effektivitet och enkelhet på Vehicle Routing Problem
EXAMINERKrzysztof Kuchcinski
SUPERVISORMehmet Ali Arslan(LTH), Kristian Rönn (Emmaus Fredriksdal)
ABSTRACTI have investigated the easiness of using constraint programming for solving the VRP. To do this I implement three methods that solve the problem using the constraint programming solver \textit{JaCoP}. These methods are compared to the open source software \textit{jsprit} and the commercial software \textit{OPTRAK} in regards to ease of implementation of the programs and the quality of the solution. The introduced criteria for a method to be deemed as easy are the following; it's possible to add and remove side constraints without having to change other code, side constraints does not interact unnaturally, it is easy to understand the code and finally that new side constraints don't require a change of the main solution method of the program.

It turns out that the constraint programming is easier to implement, but would need to be combined with other technology to give good solutions.


TITLEOptimization of resource usage in virtualized environments
EXAMINERKrzysztof Kuchcinski
SUPERVISORPeter Kanderholm (Ericsson AB), Jörn Janneck (LTH)
ABSTRACTGiven several Virtual Machines (VMs) that are grouped into Virtual Network Functions (VNFs) where Artificial Neural Network Topology is employed, VMs are placed on as few physical machines as possible using a modified 3-dimensional Multiple Subset-sum, such that Anti-/Affinity placement rules are obeyed, a target incident traffic the system can handle is met, and machine's resources are not overloaded. An Infrastructure as a Service (IaaS) VM placement case is considered, whose problem model is NP-hard. Implementation is facilitated by Java Constraint Programming Library (JaCoP) developed by Prof. Krzysztof Kuchcinski and PhD Radoslaw Szymanek.

13:00 (N.B.)

TITLEPeak Detection in Data Independant Analysis
SUPERVISORPierre Nugues (LTH), Johan Teleman (LTH), Fredrik Levander (LTH)
ABSTRACTThe analysis of proteins through mass spectrometry produces signals, where specific proteins shows through signal peaks.

This report investigates how signal processing and supervised learning along with specialized peak detection algorithms can improve the first step of a data-independent acquisition analysis in proteomics.
This step consists of choosing appropriate data peaks for later steps in the pipeline.

This report describe the investigation and evaluation of different possible approaches that we combined into an ensemble system. This final system can identify all the correct peaks from a manually-annotated test set. It uses a set of algorithms and signal processing methods, which are identified by linear regression to predict the optimal combination of variables, which yields the best result.

14:00 (N.B.)

PRESENTERSAnton Södergren
TITLEHERD, Hajen entity recognition and disambiguation
EXAMINERElin Anna Topp
ABSTRACTThis thesis describes the process to build a state-of-the-art entity recognizer and disambiguator, named HERD. The goal of the system is to find mentions of entities in text, and link those mentions to the correct Wikidata identifier. This is to be done in a variety of languages.

To achieve this, the links on Wikipedia articles are collected, counted and analyzed. These links are translated into Wikidata numbers and tagged onto new text documents. PageRank, logistic regression and feature vectors based on the Wikipedia categories are used to determine which tags are correct and which should be pruned.

The system is evaluated with the same method as used in the ERD'14 competition, and received a F1-score of 0.68, which would have placed it on place number 8, out of 18 competitors, trailing 8 percentage points behind the highest scoring participant.

15:00 (N.B.)

PRESENTERSMikael Karlsson, Anton Karlstedt
TITLEProduct Classification - A Hierarchical Approach
EXAMINERElin Anna Topp
SUPERVISORPierre Nugues (LTH), Kristian Rönn (Meta Mind AB)
ABSTRACTThe socio-ecological impact of consuming a product is something that is becoming increasingly important to consumers and businesses alike. This impact can be computed by an existing system for any product that has been categorised into a certain product taxonomy. By extending this system with a product classifier, the impact of any product could theoretically be computed. However, the large number of categories that make up the product taxonomy makes training a classifier using machine learning techniques a non-trivial task.

This thesis describes the implementation of a hierarchical product classifier using the python library scikit-learn, that makes it possible to automatically classify products based primarily on their brands and titles into a large taxonomy.

Using a data set of 3,1 million products spread over 800 categories, hierarchical classifiers were trained using different learning algorithms. Evaluations of these showed that the best hierarchical classifier reached a hierarchical F1-score (hF1) of 0.85.

16:00 (N.B.)

PRESENTERSAnton Klarén, Valdemar Roxling
TITLEGeometric real-time modeling and scanning using distributed depth sensors
EXAMINERElin Anna Topp
SUPERVISORJacek Malec (LTH), Klas Nilsson (Cognibotics AB)
ABSTRACTTechnological breakthroughs has in resent years heavily increased the availability of different types of sensors. Together with more computational power it has unlocked the possibility of much more advanced robotics applications of which one is the robots awareness of it's surroundings. By integrating multiple different sensors with the robot and a smart system to interpret and merge the data into a complete geometrical model the robot can detect deviations and act accordingly to defined rules. This opens the way for safer robot-human interaction as well as complex object tracking and identification together with many other applications.

The nature of this problem demands a very robust and responsive system with state of the art algorithms to handle the massive amount of data generated by multiple sensors, as well detection and analysis of deviations while still maintaining performance to meet the demands of industrial software.

17:00 (N.B.)

PRESENTERMeris Bahtijaragic, Julian Kroné
TITLEIntrusion detection system by statistical learning
SUPERVISORSPierre Nugues (LTH), Markus Millbourn (Digifort Sverige AB)

A web server intrusion is when a user gains unauthorized access to resources. This is often accomplished using code injection attacks. Intrusion detection systems today often utilize regular expressions to detect code injection attacks. Some attempts have been made to merge the fields of web security and machine learning. However, they often simply distinguish intrusion attempts from regular requests without detailed classification.

In this thesis, we separate benign requests from malign ones by determining the intention of a request. During our process, we found that request intentions are not always easily separable into good or bad. There are certain types of requests that appear to be malicious, but are actually benign. We present a novel approach to multinomially classify requests based on their textual representation.

We explore three data representation methods, as well as four classification algorithms. These algorithms are compared and their applicability is discussed in the context of an intrusion detection system: Triggerfish. Finally, we report results that reach an accuracy of 99.51%.