Skip to content

prosyslab/bayesmith

Folders and files

NameName
Last commit message
Last commit date
Nov 27, 2020
Aug 19, 2021
Feb 27, 2022
Aug 19, 2021
Nov 19, 2020
Jul 23, 2024
Nov 5, 2020
Dec 28, 2020
Feb 27, 2022
Jan 14, 2022
Jan 14, 2022
Jan 28, 2022
Aug 21, 2021
Apr 4, 2021

Repository files navigation

BayeSmith

Setup

./build.sh

Run

Learn

$ bingo/learn -reuse -analysis_type [ interval | taint ] -debug $BENCH_NAME

e.g. bingo/learn -reuse -analysis_type interval -debug sort

Logs (learn.log) and output (.dl file) will be generated under learn-out directory. One may change the name of the directory with option -out_dir $DIRNAME.

Test

$ bingo/learn -test -analysis_type [ interval | taint ] -out_dir test-out $BENCH_NAME

e.g. bingo/learn -test -analysis_type interval -out_dir test-out -dl_from $PATH_TO_DL_FILE sort

Logs (learn.log) and output (.dl file) will be generated under test-out directory. One may run test with existing datalog rule file with option -dl_from $PATH_TO_DATALOG_FILE. One may run test with custom rule weights with option -rule_prob_from $PATH_TO_RULE_PROB_TXT_FILE. One may change the name of the directory with option -out_dir $DIRNAME.

Report

$ script/pldi19/report.sh $TIMESTAMP

e.g. script/pldi19/report.sh baseline will show statistics for baseline performace. Similarly, script/pldi19/report.sh pldi will show statistics for pldi21 submitted version performace.

Visualize Bayesian Network

$ bingo/visualizer $BNET_DIR

Above command shall prompt a shell starting with visualizer> . Then, one may run further commands to get the visuals. Here, we illustrate commonly used commands. For more information, just enter 'help' in the prompted shell as visualizer> help.

Then, the following command will output an svg file showing partial BNet that shows common ancestor between two alarms:

visualizer> common $ALARM_1 $ALARM_2 $OUT_FILE_NAME

The following command will output an svg file showing partial BNet that shows derivation of a single alarm. :

visualizer> single $ALARM $OUT_FILE_NAME

By default, it will visualize up to 100 close nodes used for alarm derivation. As one may want to track more nodes, will use the following command:

visualizer> single $ALARM $SIZE $OUT_FILE_NAME

$SIZE describes the maximum number of nodes to visualize.