Currently, there's a DSE algorithm built on top of the Genetic algorithm broadly used in the tool. Here we write an independent DSE module. See [Project.1] for work timelines and organization and [Project.2] for the thesis report with all the details (Only Spanish for now). For each change detail please check the PR link provided in each change.
Update: Merge against #311
Merge changes can be seen in this commit and the changes impact on the symbolic engine can be seen here plus this PR adaptation to the changes doc here and commit here.
Exploration Algorithm
The exploration algorithm is based on SAGE's implementation [Exploration.1] from which the critical sections like path generation and next path selection strategies are abstracted. The default implementations of these are the SAGE's implementations, but they can be extended for new ones.
Path divergence check is based on checking that the expected path is a prefix of the actual one [Exploration.3]
Experiments are based on the benchmarks and general ideas from [Exploration.4]
Arrays support
The first implementation is made in a similar fashion to java pathfinder [Arrays.1]. On the solver side we are using arrays theory.
The second implementation sees the arrays as a bag of variables that are dynamically generated as needed, see the PR below for more info.
Experimentation
See info in the PR below. Artifacts based on [Experiments.1].
Details
Currently, there's a DSE algorithm built on top of the Genetic algorithm broadly used in the tool. Here we write an independent DSE module. See [Project.1] for work timelines and organization and [Project.2] for the thesis report with all the details (Only Spanish for now). For each change detail please check the PR link provided in each change.
Update: Merge against #311
Merge changes can be seen in this commit and the changes impact on the symbolic engine can be seen here plus this PR adaptation to the changes doc here and commit here.
Exploration Algorithm
Arrays support
Experimentation
Changes
Bugfixs
Minor Changes
DSE Module Rework + New Exploration Algorithm
Experiments
Arrays support
References
Project
Exploration
Arrays
Experimentation