ISLa 2.0 features substantial changes to the language and the solver implementation.
Our current plan includes the following significant changes:
- Removal of "semantic predicates" and the "exists int" / "forall int" quantifiers from the ISLa language. Motivation: Semantic predicates are replaced by higher-order and external functions; numeric quantifiers only glued semantic predicates to other formulas.
- Addition of the higher-order functions/numeric comprehensions/generalized quantifiers "num" and "sum." In ISLa 2.0, you would write
num(<byte> b; inside(b, <packet>)) < 40instead ofexists int num_bytes: (count(<packet>, "<byte>", num_bytes) and num_bytes < 40)in ISLa 1.x syntax. The solver will at least support expressions of the shapenum(<T> v; inside(v, ...))(basically the oldcountsemantics). The syntax will be more liberal, though. - Addition of "external" functions to extend the ISLa language for specific purposes. Roughly comparable to the old semantic predicates, but as expressions.
- Replacement of the Fibonacci queue/cost function approach by random choice guided by syntactic & semantic coverage with backtracking. Motivation: The cost function is highly problem-specific. Choosing a non-optimal cost function can lead to an explosion of elements in the solver queue that will never be touched again. The need for a notion of semantic coverage has become apparent in different case studies.
List view
0 issues of 4 selected
- Status: Open.#79 In rindPHI/isla;
- Status: Open.#80 In rindPHI/isla;
- Status: Open.#81 In rindPHI/isla;
- Status: Open (in progress).rindPHI/islanumber 85#85 In rindPHI/isla;