summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2022-10-13 08:14:07 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2022-10-13 08:14:07 +0200
commit84ddebeb7e7eb6e01007b5f688b69f604ce18ded (patch)
tree074ec89933d747d46ef4c250f72f5cabe5e61692
parent8e7b0992430f6a52bdfa9a3ef3d87b768bc87f16 (diff)
README: model generation for kconfig-webconf
-rw-r--r--README.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/README.md b/README.md
index 5553ec8..bfcb666 100644
--- a/README.md
+++ b/README.md
@@ -44,11 +44,22 @@ The benchmark results (configurations and corresponding non-functional propertie
Once the benchmark is done, the observations can be compressed into a single file by running `.../dfatool/bin/analyze-kconfig.py --export-observations .../my-observations.json.xz --export-observations-only`.
Depending on the value of the **DFATOOL_KCONF_WITH_CHOICE_NODES** environment variable (see below), `choice` nodes are either treated as enum variables or groups of boolean variables.
+Most approaches in the literature use boolean variables.
### Generating Models
-To be documented.
-In the meantime, we have a short [video example](https://ess.cs.uos.de/static/videos/splc22-kconfig-webconf.mp4).
+[analyze-kconfig.py](bin/analyze-kconfig.py) builds, evaluates, and exports NFP models from explore-kconfig measurements.
+Command-line options and environment variables determine which kind of NFP model it generates.
+
+For example, the following command generates a CART model for busybox.
+Classification and Regression Trees (CART) are capable of generating accurate models from a relatively small amount of samples, but only annotate important features.
+Hence, after loading a CART model into kconfig-webconf, only a small subset of busybox features will be annotated with NFP deltas.
+
+```
+DFATOOL_DTREE_SKLEARN_CART=1 DFATOOL_PARAM_CATEGORIAL_TO_SCALAR=1 DFATOOL_KCONF_WITH_CHOICE_NODES=0 ~/var/ess/aemr/dfatool/bin/analyze-kconfig.py --export-webconf busybox.json --force-tree ../busybox-1.35.0/Kconfig .
+```
+
+We also have a short [video example](https://ess.cs.uos.de/static/videos/splc22-kconfig-webconf.mp4) illustrating this workflow.
## Dependencies