Seven MSc theses to be presented on June 2, 2017.
June 2 is the day for coordinated master thesis presentations in Computer Science at Lund University, Faculty of Engineering. Seven MSc theses will be presented.
Note to potential opponents: Register as opponent to the presentation of your choice by sending an email to the examiner for that presentation (email@example.com). 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.
|TITLE||Memory Optimization in the JastAdd Metacompiler|
|SUPERVISORS||Jesper Öqvist (LTH), Jonathan Kämpe (Modelon AB)|
|ABSTRACT||JastAdd is a tool for generating programming language compilers. These compilers generally use more memory than other compilers for the same language. In this thesis we have categorized the memory use of two JastAdd-generated compilers, to identify opportunities to reduce their memory use. We present several optimizations for reducing the memory use of these compilers. These include changes to the runtime representation of the AST and memoization in the code generated by JastAdd. We have implemented the optimizations in JastAdd and benchmarked their performance with respect to memory use and execution time. We see an overall reduction of the runtime memory use of the AST representation of approximately 21%.|
|TITLE||Evaluating weather routing and voyage optimization|
|SUPERVISORS||Jonas Skeppstedt (LTH), Jonas Thoursie (SMHI)|
|ABSTRACT||Today it is an accepted truth that consultation and evaluation of weather models by meteorologists can help a ship navigate the sea efficiently, using the weather and sea currents in the ships favour. However, there exists little to no studies carried out to support such a claim. In this report we will first validate a simulation model by statistical means. This simulation is then used on different routes to compare them to each other. The most significant route comparison is comparing the initial route planned for a voyage, with the final route taken by the vessel. This report concludes that there is no statistical significance to fuel and time economy when using land based meteorologists for the limited and specific dataset used.|
|PRESENTERS||Niklas Jonsson, Johan Ju|
|TITLE||Develop and prototype code generation techniques for a clause-based GPU|
|SUPERVISORS||Jonas Skeppstedt (LTH), Markus Lavin and Dmitri Ivanov (ARM)|
|ABSTRACT||Processors grow more and more complex, even more so in the field of GPU:s, where the instruction set, in general, is not publicly available. This enables them to change more rapidly than CPU:s, since backwards compatibility is not an issue. In this thesis multiple approaches are investigated for code generation for a clause-based GPU. An optional pre-scheduler is implemented, together with two approaches for register allocation and one post-scheduler. It is found that a pre-scheduler can lower the register pressure considerably which makes a major impact on register allocation. The differences between the two register allocators is minimal and they can be considered to be equal.|
|TITLE||Using Rust as a complement to C for embedded systems software development|
|SUPERVISORS||Gustav Cedersjö (LTH), Christoffer Cronström and Mathias Bruce (Axis Communications AB)|
Rust aims to bring safety to low level programming by using zero cost abstractions. These provide, among other things, guaranteed memory safety and threading without data races. Garbage collected languages have become popular to guarantee safety, but in performance critical, memory limited or real time applications, it is not an ideal solution. Rust is safe and still has manual memory management, with strict rules. This report presents a case study of using the Rust language and associated tooling such as cross-compilers and IDEs in practice. The study was carried out by porting 5000+ lines of an embedded Linux daemon to Rust. Rust upholds the safety and zero cost claims. Using Rust has been found to aid in achieving an improved, shorter, more expressive architecture. The learning curve is a bit steep, but productivity has been found to be high once learned. Tooling support is mature, but IDEs are not yet full featured.
|TITLE||Physically Based Water Shading|
|SUPERVISORS||Michael Doggett (LTH), Jan Schmid and Johannes Deligiannis (DICE)|
|ABSTRACT||Rendering and simulating an ocean as realistic as possible is a desirable effect to many outdoor scenes of movies and video games. The difficulties with rendering a plausible ocean arises from the complex behavior and scaling of the ocean waves. When viewing the ocean, you can usually see water very close to the viewpoint and water far away in the horizon simultaneously, which can cause multi-scale aliasing issues when rendering the water surface. This thesis describes how we shade a realistic water surface in real-time while taking water wave animation system itself into account. By representing the ocean with geometry and a Bidirectional Reflectance Distribution Function (BRDF) based on the viewing distance, aliasing issues are avoided. Furthermore, since the BRDF is constructed from the physical characteristics of water and the waves from the wave animation system, the illumination of the water surface will produce highly realistic images.|
|PRESENTER||Johan Hedin Sånemyr|
|TITLE||Stödjande av språkinlärning genom automatisk analys av undertexter|
|OBS||Kandidatarbete (tar bara andra kandidatarbetare som opponenter)|
|ABSTRACT||The purpose of this essay is to examine how computer assisted language learning can be utilized in order to facilitate word acquisition while watching movies or series. This is accomplished through an automatic analysis and manipulation of the subtitles which is implemented in two different ways depending on the user's current language knowledge. Two similar programs have been developed: the first, called the intermediate variant (v1) targets users mastering the languages’ frequent words, and the second program, called the beginner’s variant (v2), targets novice users who do not master the most frequent words of a language. The two programs both have the main functionality of filtering out words that the user already know - they differ in the strategy used for the manipulation process. These two variants are evaluated on a set of test persons and the results are presented.|
|PRESENTERS||Per-Victor Persson, Hans Rietz|
|TITLE||Predicting and Analyzing Osteoarthritis Patient Outcomes with Machine Learning|
|SUPERVISORS||Pierre Nugues (LTH), Erik Rehn (Arthro Therapeutics AB)|
|ABSTRACT||The use of machine learning as a tool in medicine is increasing and has provided new avenues for research into a number of conditions. Creating better predictive models for these conditions could provide opportunities for better care. We have applied this mindset to osteoarthritis, a degenerative disease that affects a large part of the older population. In order to do this, we have used a dataset containing 75,366 patients who have participated in an osteoarthritis treatment program. We have sought to answer ``Is it possible to predict patient outcomes?'' and ``What factors contribute to the patient outcome?'' by constructing and evaluating machine learning models. The selection of models included neural networks, logistic regression, and gradient boosting machines as well as several others in order to capture the performance of ranging types of machine learning models. Our results show that it is possible to predict patient outcomes on a test set with 60% accuracy.|