Releases: manleviet/NeSy4ConDetect
Release list
FMInvalidConfigurationGeneratorForAllConflictSets
fm_invalid_conf_gen_forcs.jar
Requirements: OpenJDK 21
fm_invalid_conf_gen_forcs.jar
Functionality: loop through allConflictSets.da file and generate inconsistent configurations that either retain the given conflict set. Output: txt files in ./invalid_conf/ folder. If the ./invalid_conf/ folder does not exist, it will be created.
Syntax: java -jar fm_invalid_conf_gen_forcs.jar <path_to_fm_file> <path_to_allConflictSets> <path_to_valid_configurations_file> [num_gen_confs] [max_num_iterations] [debugging_mode]
<num_gen_confs>: number of generated configurations for each CS
<debugging_mode>: (0: disable, 1: enable) - save messages to an output.txt file.
<path_to_consistent_configurations_folder>: the folder containing the already known consistent configurations.
[max_num_iterations]: the maximum number of iterations (default value is 0, which means loop through all consistent configurations).
Ex 1: generate ten configurations for each CS in allConflictSets.da file. The generation relies on already known consistent configurations provided in the folder ./consistent_configurations/. Besides, the program loops through all consistent configurations.
java -jar -Xmx4G fm_conf_gen_v2.jar linux-2.6.33.3.xml allConflictSets.da ./consistent_configurations/ 10
Ex 2: generate ten configurations for each CS in allConflictSets.da file. The generation relies on already known consistent configurations provided in the folder ./consistent_configurations/. The program checks a maximum of 30 consistent configurations (3 iterations).
java -jar -Xmx4G fm_conf_gen_v2.jar linux-2.6.33.3.xml allConflictSets.da ./consistent_configurations/ 10 3
The source code can be found at https://github.com/manleviet/MF4ChocoSolver.
FMConsistentConfigurationGenerator
fm_valid_conf_gen.jar
Requirements: OpenJDK 21
fm_valid_conf_gen.jar
Functionality: generates 1000 FM consistent configurations. First, random 10 feature assignments, then use the configurator to identify configurations. The random step helps to ensure the diversity of configurations. Output: txt files in ./conf/ folder. If the ./conf/ folder does not exist, it will be created.
Syntax: java -jar fm_valid_conf_gen.jar <path_to_fm_file>
The source code can be found at https://github.com/manleviet/MF4ChocoSolver.
MergeableConflictSetsSeeker
Requirements: OpenJDK 21
comb_cs_seeker.jar
Functionality: identify all possible combinations of given conflict sets that produce a diagnosis with the expected cardinality. Output: txt files in ./comb/ folder. The folder ./comb will be created if it does not exist.
Command: java -jar comb_cs_seeker.jar <path_to_fm_file> <path_to_conflicts_file> <diagnosis_cardinality> <max_num_selected_cs>
<diagnosis_cardinality>: the cardinality of diagnosis that identified combinations should produce. This is also the number of conflict sets that the program selects to merge.
<max_num_selected_cs>: the maximum number of conflict sets the program can select.
Ex: identify all possible combinations of conflict sets that can result in a diagnosis with the cardinality of 1. The maximum number of conflict sets that can be selected is 2. The Linux-2.6.33.3 and the file containing conflict sets are stored in the current folder.
java -jar comb_cs_seeker.jar linux-2.6.33.3.xml allConflictSets-linux.da 1 2
Ex: identify all possible combinations of conflict sets that can result in a diagnosis with the cardinality of 2. The maximum number of conflict sets that can be selected is 2. The Linux-2.6.33.3 and the file containing conflict sets are stored in the current folder.
java -jar comb_cs_seeker.jar linux-2.6.33.3.xml allConflictSets-linux.da 2 2
The structure of the output files is the following:
- Line 1 - the configuration before sorting
- Line 2 - the diagnosis of the configuration before sorting
- Line 3 - the configuration after sorting (according to the order of leaf features)
- Line 4 - the diagnosis of the configuration after sorting
- Form line 5 - list of conflict sets that are selected
The source code can be found at https://github.com/manleviet/MF4ChocoSolver.
combs folder (comb#.zip)
The data is generated by using the program.
The number in the name of each file is the cardinality of the preferred diagnosis.
| diagnosis cardinality | number of coms | total checked combs |
|---|---|---|
| 1 | 338 | |
| 2 | 12.688 | 12.688 |
| 4 | 195.072 | 202.054 |
| 8 | 16.507 | 16.617 |
| 16 | 17.523 | 17.612 |
| 32 | 2.642 | ~20.000 |
| 64 | 0 | ~60.000 |