Giter Site home page Giter Site logo

eirikhalvard / master-thesis Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 62.83 MB

Three-Way Semantic Merge for Feature Model Evolution Plans

Haskell 31.10% Elm 8.63% Shell 0.05% TeX 60.21% BlitzBasic 0.01%
master thesis merge three-way-merge software-merging master-thesis feature-model feature-modeling software-evolution

master-thesis's Introduction

Three-Way Semantic Merge for Feature Model Evolution Plans

A master thesis by Eirik Halvard Sæther

Overview

This repository contains source code relevant to my master thesis. This includes the following:

Installation and Usage of the Tools

Prerequisites

Note that several tools are necessary in order to get this project working. This includes at least the following:

  • The Haskell language as well as additional build and development tools such as stack and cabal. Easiest solution is to install Haskell with batteries included, which installs all necessary tools.
  • (Optional) If you want to use the visualization tool as well, an installation of Elm and elm-live are necessary.

Note that the tools are tested on MacOS, and other operating systems might require additional tools to get things to work.

Using the Tools

The main contribution is the three-way merge tool implemented as a command-line interface in Haskell. This tool can be used independently of the visualization tool. However, we have included a simple script that showcases both tools.

The ./run Script

Running ./run will compile and run the haskell backend, which will generate the json representation of all the predefined merge examples and the results of their three-way merge. Then an elm server will be started at localhost:8000, which will display the result of the merge

master-thesis's People

Contributors

eirikhalvard avatar idamotz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.