Giter VIP home page Giter VIP logo

torte's Issues

Roadmap

The following issues show the general roadmap for the future development of torte.

Bugs

Minor improvements

  • upgrade Z3 to 4.12.1, see Z3Prover/z3#6577
  • test and improve error handling for missing values (NA), e.g., that failed extractions/transformations propagate appropriately to the other stages (or are ignored)
  • combine iterate with run, deduce file fields automatically based on suffix -file
  • add a filter stage (maybe transient) that removes some input files before executing another stage
  • Z3: for DIMACS, some solvers require that "c " lines occur before "p cnf", Z3 does not do that correctly
  • make transformer and analyzer names consistent with each other
  • make names of columns follow a consistent scheme
  • find out license for each committed blob/binary and document in readme
  • remove CONFIG_ prefix from all files to save space
  • treat Killed (due to OOM killer) as a failure

New Features

  • new algorithms:
  • support evaluation beyond the creation of CSV files (e.g., by integrating more tools)
  • separate the binding and model stages of the extraction (this would require some architectural changes to be able to combine the input directory with the bindings' output directory, but it would make the additional dependencies make and binutils for KConfigReader unnecessary)
  • parallelize extraction
  • auto-calculate the worst possible duration of each stage by taking timeouts into account and estimating evaluation runtime
  • megamodel by introducing an arch choice or applying neg-kc-CNF
  • revise input system so one stage can take multiple input stages and so that aggregate stages do not need to copy all their inputs (e.g., symlinks instead)
  • create "near-correct" feature models (e.g., in UVL) that already omit dead features and also include all unconstrained features to improve the accuracy of extracted models (or, in DIMACS, add number of unconstrained variables to p cnf ...)
  • integrate ConfigFix (which is the spiritual successor to KConfigReader, can export CNF with make cfoutconfig)
  • add continuous integration where a virtue machine automatically installs and runs the default experiment

Improving External Validity

  • add more systems (i.e., systematically search GitHub for compatible Kconfig projects, some ideas are listed in the experiment files, e.g., u-boot)
  • add feature-model hierarchies (e.g., act as consumer and supplier to https://github.com/SoftVarE-Group/feature-model-benchmark)
  • add more solvers (e.g., a portfolio solver, more solvers can be found in competitions)
  • reproduce ASE'22 evaluation (e.g., add core/dead feature calculation) - currently, at least axTLS and freetz-ng seem buggy
  • for each subject system, determine the best Linux KConfig binding version and possibly update them
  • find a more elegant way to work around the Kconfig helper macros
  • reproduce the results of existing evaluations (e.g., TypeChef) with other CNF transformations and/or KConfig extractors
  • implement SAT format, which is used by some tools as input, as an addition to .model and .smt
  • find a good way to store/upload Docker images and extracted models (really large files, Zenodo? Git LFS? university?)
  • add virtualbox/vagrant image for easier reproduction

Build of kmax image fails

Building the kmax image currently fails. The reason seems to be that Python 3.6 is used, but the dd dependency (resolved to version 0.6.0) requires Python >= 3.11.

Full build log: build-log.txt

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.