Giter VIP home page Giter VIP logo

explaining-sat-queries-for-spls's Introduction

Explaining Satisfiability Queries for Software Product Lines

This repository contains artifacts used in the 2017 master's thesis Explaining Satisfiability Queries for Software Product Lines [Gün17]. In that thesis, an algorithm capable of finding explanations for satisfiability queries in a software product line context is presented. While the implementation of that algorithm is available in the open-source project FeatureIDE [MTS+17], the documentation and the evaluation reference several models that can be accessed from here. Additionally, the code for the evaluation lives in this repository.

Contents

This repository contains various projects that can be imported into Eclipse.

Data

All data projects contain feature models that can be opened in FeatureIDE [MTS+17].

  • The folder Documentation/data contains the data shown throughout the thesis. All files in that folder are the work of the author, with two exceptions:
    • The feature model of Car is from Ananieva [Ana16].
    • The project HelloWorld-Colligens is a FeatureIDE example [MTS+17]. An additional preprocessor annotation was added to main.c in order to showcase explanations for invariant presence conditions.
  • The folder Evaluation/Qualitative/data contains feature models used in the qualitative analysis. All of them are from Ananieva [Ana16].
  • The folder Evaluation/Quantitative/data contains the data used in the quantitative analysis. They are sourced from various works:
    • The feature model of Automotive01 is a FeatureIDE example [MTS+17]. Its configurations were generated using IncLing [AHKT+16].
    • The feature models of SortingLine and PPU are from the Pick-and-Place Unit case studies [FLVH15] implemented by Kowal et al. [KATS17]. Their configurations were generated using IncLing [AHKT+16].
    • The feature models and configurations of PROFilE-E-Agribusiness and PROFilE-ERP-System are from Pereira et al. [PMK+16].
    • The remaining projects in that folder are from Knüppel et al. [KTM+17]. Their configurations were generated using IncLing [AHKT+16].

Sources

The folder Evaluation/Quantitative/src contains the source code for the quantitative analysis. To run the evaluation program, both this repository and the FeatureIDE repository need to be cloned. The easiest way to get the program working is to import the source projects of both repositories into Eclipse without copying them into the workspace. Then, the main methods of FeatureModelExplanationTest and ConfigurationExplanationTest can be run to gather data on explanations for feature models and configurations respectively. The measurements are stored as comma-separated values in a folder called results.

References

explaining-sat-queries-for-spls's People

Contributors

timoguenther avatar

Stargazers

 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.