GithubHelp home page GithubHelp logo

autosmp's Introduction

AutoSMP

This repository contains the source code and executable jar file for the submission of AutoSMP at SPLC21 demonstration and tool track.

Content

This repository cotains the following data:

This folder stores the executable sampling algorithms and the interface implementations to call the sampling algorithms with AutoSMP.

Contains the benchmarks to evaluate sampling algorithms. The benchmarcks currently contained in this repository are collections of variability models in the FeatureIDE-XML-Format. We classified the variability model by size. To save disc space and download rates the benchmarks are archived. Make sure to unpack the required archives before using AutoSMP.

This folder contains system specific configuration files to define the run-time behaviour and basic input and output paths of AutoSMP.

With AutoSMP customized evaluation tables can be calculated. The customized evaluation tables are stored in this folder.

This folder contains the executable jar file of AutoSMP.

Contians a collection of java labraries needed by AutoSMP. This folder is only interesting for those who plan to work with the source code of AutoSMP directly.

A folder for temporary output files and log files.

This folder contains the configuration of user requests. A user request tells AutoSMP how to calculate a recommendation table based on previously calculated sample evaluations. User can specify which benchmarks will be considered and how different evaluation criteria for sampling algorithms will be considered.

This folder contains the results of evaluations performed with AutoSMP. The results are stored as table representation in the CSV file format.

This is the folder where the source-code of AutoSMP is stored. Currently this folder contains the following projects:

  • AutoSMP The source code of our platform AutoSMP
  • AlgorithmExample Contains source code of an example implementation to test the registration of algorithms.

How to use AutoSMP

  1. Clone the repository of AutoSMP to any directory on your local system.
  2. Decide on which of the registered algorithms you want to evaluate.
  3. Decide which benchmarks should be used for the evaluation. Make sure to unpack the required benchmarks.
  4. Create a configuration file in the configs folder for your system and requirements. A simple way to do this, is to copy the existing example configuration and adjust the file paths and runtime switches to suite your needs.
  5. Create a request configuration file in the request folder to configure how AutoSMP calculate a customized recommendation table. A simple way to do this is by copying and adjusting the existing example request file.
  6. Switch to the executable folder and open a terminal.
  7. Execute AutoSMP according to the following command structure: java -jar ./autoSMP.jar <name of configuration (without extension)> <-sampling> <-request> The <-sampling>, <-request>, and are optional switches you can use to specify which analysis AutoSMP will perform. The -sampling switch tells AutoSMP to perform a sample evaluation according to the configuration specified in your configuration file. The -request switch tells AutoSMP to calculate a recommendation table based on your request configuration.
    The tells AutoSMP where to find your request configuration. This argument must be provided if you use the -request argument. Otherwise it must not appear in the command.

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.