Recent Changes - Search:

CSE dept.


This site contains wiki-pages for the department of computer science and engineering at Chalmers and GU.


edit SideBar

SE /

ThesisProjects

On this page you will find the available thesis projects at the Software Engineering Division. Please contact the supervisor if you are interested in a topic listed here. Please also take a look at the general rules for master thesis projects at the computer science department.

Outline:


Master Program

For the slides introducing the Master thesis process at SE, please click HERE.

For the slides introducing the researchers at SE and their topics, please click HERE.

For an example of a thesis proposal accepted at SE, please click HERE.

NOTE: We also encourage thesis projects in close collaboration with companies or coming from your own ideas. However, please secure an academic supervisor before you write a thesis proposal.

Supervisor: Christian Berger:

  • Topics for Bachelor and Master thesis typically related to autonomous driving systems. Proposals (academic & industrial topics) will be continuously announced at Christian Berger page.
  • If you have an exciting topic or research question in mind, do not hesitate to get in contact with me!

Supervisor: Thorsten Berger:

  • thesis together with SUSE Germany and Linux kernel maintainers
    • incorporate a SAT solver (picosat) into the Linux kernel configurator (make xconfig, make menuconfig) to support kernel configuration processes (detect dead features, control visibility of option subtrees, resolve configuration conflicts)
    • more details on the kconfig-sat website
  • thesis together with Danfoss Denmark
    • static analysis of firmware source code to extract configuration constraints and to reverse-engineer/extend a variability model
  • thesis together with ABB Research Germany
    • product-line migration feasibility study (static analysis of legacy software artifacts, cost/benefit analysis, architecture evaluation)
  • thesis in the context of a novel variation management system (GIT with variability support)
    • intelligent code merge tool which, for instance, can handle code-alignment issues
    • identify side effects of source code using static analysis
    • conceive and implement a feature dashboard, showing developers what features exist, where they reside in the code, and show various metrics about features (e.g., scattering degree, tangling degree, lines of feature code)
    • controlled experiment: Does working with smaller code chunks make sense? Where would you like to have such reductions?
  • thesis in the context of mining software repositories
    • survey/interview study about feature scattering: Why and when are features scattered and are there any thresholds maintained consciously?
    • study feature annotations in the codebase history of the Mozilla Firefox project
    • study feature ownership in the codebase history of the Linux kernel: Who maintains feature code? What kinds of coordination patterns arise?
    • identify and study merge refactorings in the codebase history of the Linux kernel or another large open-source project

Supervisor: Michel Chaudron:

  • 'Documentation on Demand': how can we produce (select & abstract) the information about a system that is relevant for a developer for a specific task at hand? In this project, we try to create a proof of concept that can produce 'Documentation on Demand' based on a multitude of available sources of information about the system, such as: source code, documentation, bug reports, test reports, ...
   We can do this project on a regular PC, or explore how a smart whiteboard can be used as a collaborative tool for program understanding.
  • Develop a DSL & programming environment for cars (project with Geely).
  • Analyse the evolution of correspondence (and technical debt) between architecture/design and source code over time.
  • Build on online service for performing a quality-assessment for the modeling practices in open source projects
  • Machine Learning for Software Engineering:
    • how to recognize (and ideally generate) good layouts for UML Class diagrams (based on a large repository of examples).
    • classifying the roles of classes/libraries/components (see paper 'Characterizing Classes' by Rebecca Wirf-Brocks)
    • adding design intent to software design (using ontologies & machine learning). What is the responsibility or purpose of this class or relation?
  • Automated summarization of software designs (with Truong Ho-Quang/Rodi Jolak). Which information from designs is key for understanding a system design? This can be an empirical study in industry. How can we identify important (high level) design concepts from (reverse engineered) source code.
  • Several possibilities in the area of machine learning and big data (in collaboration with IRIS.ai, check their webpage for details )
    • Automatically labelling/classification of the topic of scientific papers based on classifying the images used in the paper
  • How do software designers explain software designs? Data analysis (some data has been collected already)
  • Also check out ongoing projects on which we can build thesis projects:
  • see B.Sc. projects below (we can reduce the scope to fit M.Sc. timescale)

Supervisors: Michel Chaudron and Christian Berger:

  • Find opportunities for Model-Driven Development for improving the development and maintenance of Autonomous Vehicles Software (e.g. code generation, analysis of extra-functional properties during design time).

Supervisor: Francisco de Oliveira Neto:

  • Create a platform for automatic experimentation with software test techniques.
  • A formal experiment to investigate disparate software testing techniques.
  • Integration between test management tools and automatic software testing techniques.
  • Development and investigation of techniques to synthesise test artefacts through meta-heuristics.
  • Optimization of failure exposure rate through automatic test case generation.
  • Creation of reproducible compendia for evaluation of software testing techniques.
  • Model-based Testing (collaboration with Diadrom)

Supervisor: Robert Feldt

Supervisor: Jennifer Horkoff

  • Evaluation and extension of creativity and early requirements (goal) modeling method and tool, Creative Leaf CreativeLeaf
  • Early requirements (goal) model modularity mechanisms, implementation and evaluation
  • Requirements analysis for gaming industries -- modeling and tools (with Staffan Björk)
  • Evaluation and extension of business intelligence modeling (BIM)
  • Strategic API Value and Measurements
    • (Software Center Project #26)
    • With Axis, Bosch, Ericsson, Grundfos, & Tetra Pak
  • Large-Scale Agile Requirements Engineering
    • (Software Center Project #27, with Eric Knauss)
    • With Bosch, Ericsson, Grundfos, Siemens, Tetra Pak, Volvo Cars, & Volvo Trucks

Supervisor: Truong Ho-Quang

  • Theme A: Automated classification/extraction of UML models (see this paper)
    • Project A.1: Classification/extraction of sequence diagrams in images. (with Regina and Michel)
    • Project A.2: Classifier for reverse engineering vs forward design models.
  • Theme B: Impacts of UML use in OSS projects (see foundations of these projects) (with Michel Chaudron, Regina Hebig)
    • Project B.1: Evolution of UML files
    • Project B.2: Co-evolution of UML files and other artifacts of OSS projects such as:
      • Source code and its quality
      • Documentation
  • Theme C: Automated abstraction of UML designs based on evolving source code (with Michel Chaudron).
    • Project C.1: Condensation of class diagrams using machine learning (done by Filip Brynford in Ericsson)
    • Project C.2: Machine learning of layout of class diagrams
    • Project C.3: Automated classification of class role stereotypes (according to Wirf-Brocks) (see A Bachelor thesis by Berima Andam)
  • Theme D: Software Architecture Visualisation
    • Project D.1: Visualization of Electrical Architectures In the Automotive Domain Based on the Needs of Stakeholders (done by Nattapon Thathong and Florence Mayo in Volvo)
    • Project D.2: Software Architecture Visualisation: What information do different stake-holders need? (data from Ericsson, Volvo, TetraPak) (see this Bachelor thesis by Anna and Marjan)

Supervisor: Eric Knauss

  • Generally interested in case studies in the following areas (especially in combinations of them)
    • Agile
    • Requirements Engineering
    • Continuous Integration, Delivery, Deployment
  • Concrete topics Spring 2018 (Industry contact can be provided):

Supervisor: Grischa Liebel

  • Requirements modelling: Studies on the use of models for requirements engineering
  • Personality types in Software Modelling: theory building/surveys
  • Case studies on different topics: Model-Driven RE, Agile RE, Organisation structure, Model-Driven Engineering, Software Engineering Education

Supervisor: Philipp Leitner

  • Automated Performance Test Analysis (industrial master's thesis with Ericsson - you need to apply at the link, but please let me know in advance)
  • Cloud benchmarking: Which cloud image should I choose to achieve the best performance? Study the performance impact of different cloud images (e.g., different operating systems) by using and extending the cross-cloud performance testing tool Cloud WorkBench
  • Further topics are available in many areas related to services computing, cloud computing, middleware, and software performance. Some examples:
    • Performance evaluation of serverless infrastructures, such as AWS Lambda. Includes devising, deploying, and executing expressive benchmarks.
    • Performance testing in Jenkins. Includes building a concept for how to integrate statistically robust performance testing into a CI pipeline, and building a concrete plugin as open source software.
    • (Semi-)automated transformation of a functional program to serverless. Includes coming up with a scheme how to use an existing functional programming language, such as Haskell, as a DSL to define the composition of serverless cloud functions.
    • Case study for cloud cost modelling. Includes setting up a realistic multi-tier, multi-component cloud application and establishing it's costs in various deployment variations, as well as experimentation and data analysis.

Supervisor: Patrizio Pelliccione

  • Systematic literature review on lightweight formal methods
  • Automatic construction of models from black-box software artefacts

Supervisor: Riccardo Scandariato:

Supervisors: Jan Schroeder and Christian Berger:

Supervisors: Jan-Philipp Steghöfer and Salome Maro.

All theses will use the open source tool Eclipse Capra as the foundation for the implementation part.

  • Gamification to improve software Traceability : Proposal
  • Using collaborative features to facilitate traceability maintenance : Proposal
  • A query language for traceability models: traceability information, i.e., links between software development artifacts, grow over time and can become quite numerous. In order to use them purposefully, e.g., to create reports and gain an understanding of the development progress, it is therefore necessary to query these links that are usually available in the form of models. Existing languages like SPARQL are not specialised for the graph structures of these models and do not carry sufficient semantics. The goal of the thesis is therefore to create a DSL for querying traceability information based on a set of scenarios and evaluate the language based on these scenarios and realistic examples.

Supervisor: Jan-Philipp Steghöfer

  • Long-term Knowledge Retention in Software Process Education: We have collected extensive data about students' understanding of agile software processes over a period of years. This information, together with targeted interviews with current and former students, should serve as the basis for an analysis to understand whether or not the current teaching methods enable students to retain knowledge over several teaching periods. The goal of the thesis is therefore to find evidence for or against long-term retention of knowledge about agile software processes based on the collected data (in collaboration with Håkan Burden).

Supervisor: Jan-Philipp Steghöfer and Michel Chaudron:

  • Visualisation of Traceability Information. Traceability information, i.e., information about how different artifacts that are produced during the development of a software product are connected to each other, are traditionally displayed either as a graph or as a matrix. Both approaches do not scale very well as the information to be visualised becomes more and more complex with the number of inter-connected artifacts. Navigating the graphs and matrices and filtering the relevant information becomes difficult and it is rarely possible to restrict the views to what is needed for a particular task. Therefore, the aim of this thesis is to explore alternative approaches to visualise traceability information with a focus on the support of large datasets. Existing techniques from software visualisation could be used as a starting point. All results should be implemented in the open source tool Eclipse Capra and validated in experiments with students or practitioners.

Supervisor: Richard Torkar

  • A formal experiment in search-based software testing and mutation testing.




Bachelor Program

Supervisors: Michel Chaudron:

  • Process Mining Open Source Project: Process Mining is a powerful tool for extracting process models from large collections of event traces. In this project, we want to use process mining to reconstruct the processes that were (de facto) used in open source projects. We have a special interest in finding out if we can identify and explicate processes related to documentation and UML models.
  • Study the uses of software architecture and design documentation: who?, when?, why? what?
  • Study the practices and tool-chains used in model-driven development.
  • Next generation of software modeling/development tools:
    • various project on integrating smartboard, audio, video, touch, gesture to create the next generation of software development environments.
      • integrating 'awareness': where is the person on the remote location looking/pointing?
      • using smart whiteboard as basis for software exploration/understanding: combine multiple data- & knowledge-sources about a project to produce interactive task-centric and user-centric information.
  • see M.Sc. projects (we can reduce the scope ot fit B.Sc. timescale)

Supervisor: Christian Berger:

  • Topics for Bachelor and Master thesis typically related to autonomous driving systems. Proposals (academic & industrial topics) will be continuously announced at Christian Berger page.
  • If you have an exciting topic or research question in mind, do not hesitate to get in contact with me!

Supervisor: Grischa Liebel

  • See Master Theses (reduced scope)

Supervisor: Truong Ho-Quang

  • Extract license information from the OSS projects for images.
  • See MSc theses (reduced scope)

Supervisor: Jennifer Horkoff

  • See Master Theses (reduced scope)

Supervisor: Francisco de Oliveira Neto:

  • Developing tools to support the analysis of experiments with software testing techniques
  • Investigating the reproducibility of experiments with similarity-based test case selection
  • Alternative: A reduced version of any of the master thesis proposals (see above)

Supervisors: Jan-Philipp Steghöfer and Salome Maro:

  • Analysing traceability information in a corpus of open source projects: the goal of the thesis is to analyse the use of traceability (i.e., of relating different development artifacts to each other) in open source projects that use some form of UML modeling (collected in the Lindholmen Data Set). For this purpose, the projects should be searched for any traceability information that might be available in either the models, extra documents, or the commit messages. The contribution would be an overview of if and how traceability is regarded in OSS projects that do use modeling in the development.
  • Using traceability links for impact analysis. This thesis will investigate how traceability links can be used to facilitate change impact analysis. See Detailed proposal.
  • Visualising traceability links in context. One issue with the usual traceability visualisations (matrices and graphs) is that the artifacts that are linked to each other are represented outside of their usual context (such as the other model elements the linked elements are linked to). This thesis will investigate how the existing visualisations in Eclipse Capra can be extended to provide this context information.
  • Use automated traceability link discovery to verify manually created links. In many domains, automatically created traceability links are not acceptable since they can introduce erroneous links. In these domains, such as automotive, links are instead created manually. However, manually created traceability links are not guaranteed to be correct. In this thesis, automated techniques are going to be investigated to check the correctness of traceability links. In essence, an automated technique that discovers a manually created link thus verifies it. If the link is not found, however, it could be marked as suspect for further investigation.
  • How bad is a wrong link?: Manual creation and maintenance of traceability is labor intensive, especially for large and complex systems. To solve this, researchers have proposed automated approaches to generate traceability links. These automated techniques are promising but they are still not perfect. The links generated can be wrong and some correct links are not generated at all. Therefore, the adoption of these techniques in industry is very low. In this study we want to investigate to what extent wrong links have a negative effect on the development process and product in the end.
  • Automatic creation of links between code elements using commit messages. In agile development, it is customary to include the ticket number in the commit message in order to create a link between the code committed and the ticket. In this thesis, we want to investigate how we can use data from commit messages to derive links between code elements.
  • Comparison of Traceability Tools. There is a surprising number of commercial and open-source tools available on the market today. Their respective drawbacks and advantages are, however, not clear. Based on preliminary approaches, the goal of this thesis is to first develop a categorisation scheme for traceability tools and then evaluate a selection of the tools based on this scheme. For this purpose, the tool documentation and publicly available material will be complemented with information gathered directly from tool developers and/or users. An additional outcome would be a better understanding of the market forces that shape the feature set of these tools.

Supervisor: Jan-Philipp Steghöfer and Michel Chaudron:

  • Visualisation of Traceability Information. Traceability information, i.e., information about how different artifacts that are produced during the development of a software product are connected to each other, are traditionally displayed either as a graph or as a matrix. Both approaches do not scale very well as the information to be visualised becomes more and more complex with the number of inter-connected artifacts. Navigating the graphs and matrices and filtering the relevant information becomes difficult and it is rarely possible to restrict the views to what is needed for a particular task. Therefore, the aim of this thesis is to explore alternative approaches to visualise traceability information with a focus on the support of large datasets. Existing techniques from software visualisation could be used as a starting point. All results should be implemented in the open source tool Eclipse Capra and validated in experiments with students or practitioners.

Supervisor: Hang Yin:

  • Dynamic software update for cyber-physical systems (1-2 students)

Supervisor: Piergiuseppe Mallozzi

  • Topics: Self-driving cars, Machine learning and Artificial Intelligence.
  • Reinforcement Learning applied to autonomous vehicles
  • Runtime monitoring
  • Working on an OpenAI project: https://github.com/openai/universe

Supervisor: Hugo Andrade:

  • Evaluation of software deployment strategies using FPGA (Xilinx Gimme2 board). The goal is to run an experiment on the FPGA board and analyze performance results with respect to different deployment configurations, frameworks and tools.
Edit - History - Print - Recent Changes - Search
Page last modified on November 15, 2017, at 07:10 PM