GithubHelp home page GithubHelp logo

samplingchallenge's People

Watchers

 avatar  avatar  avatar  avatar  avatar

samplingchallenge's Issues

Integrate a first sampling algorithm into TIRA setup

A core functionality of the challenge is that users can provide a sampling algorithm, which calculates samples for a given t-wise coverage. To test out this workflow an example algorithm, such as IncLing, is needed. The algorithm must executable as comand line application to be used in the TIRA system. Hence, this issue includes not only the integration of a sampling algorithm in TIRA, but also preparing the algorithm as a comand line application. In case of IncLing there is already a prototype implementation of a headless version (https://github.com/PettTo/Master_Thesis_Tools/tree/master/HeadlessIncling), which should be used as basis for further work.

Support for algorithms that rely on the hierarchy of the feature model

While most sampling algorithms only consume the feature model as a propositional formula, there are a few algorithms that do also incorporate the feature hierarchy of the feature diagram. Not all benchmark models are useful in those cases (i.e., those being imported from DIMACS do not have a hierachy). Also, we might need a special input format or at least a separate category for comparison of outputs.

Integrate small Example Feature Models into TIRA setup

One essential part of automating the sampling challenge is to integrate feature models into the system. By starting with small feature models such as GPL, FeatureIDE, FameDB and EShop a test suite for validation of newly integrated functionality can be build.

Integrate large Feature Models into TIRA Setup

The scalability challenge is all about testing the boundaries of sampling procedures. To do so, we need to include large feature models into the TIRA system. For a first prototype feature models such as, Automotive01, Automotive02, and FinancialServices01 must be added to the system. Based on these data first performance tests of the system can be done. For instance, checking how many resources (CPU, RAM, etc.) is need in each virtual machine.

Prototype for evaluation suite

After a user provided sampling algorithms and calculated a sample he should get an evaluation how well his sampling algorithm performed. To enable this functionality the following evaluation criteria need to be integrated into the TIRA system.

  • Make sure samples are saved persistently?
  • Count the number of configurations contained in the sample
  • Calculate how long a sampling algorithm needs to calculate a solution.
  • Track memory consumption during solution calculation
  • Calculate percentage of achieved t-wise coverage (see Issue#1)

Automated calculation of t-wise coverage

When allowing the submission of sampling algorithms that do not ensure t-wise coverage, we need to be able to compute the percentage of t-wise interactions being covered.

This is also useful to check for algorithms with t-wise coverage in two dimensions:

  1. We can identify faults in algorithms.
  2. We can check the coverage for higher values of t for those algorithms too.

A dedicated category for evolution-aware sampling

State-of-the-art algorithms are typically oblivious to the evolution of the product line. They can still be applied to the evolution, but may be applied in a separate category that evaluates algorithms under feature-model evolution.

Furthermore, we may introduce a new input format for dedicated sampling algorithms that need several feature-model revisions at the same time.

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.