Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Spot
Spot
Commits
7b6626d1
Commit
7b6626d1
authored
May 25, 2015
by
Alexandre Duret-Lutz
Browse files
ltlcross: add a complete column
* src/bin/ltlcross.cc: Add the column. * NEWS: Update.
parent
ae0f0d5f
Changes
2
Hide whitespace changes
Inline
Side-by-side
NEWS
View file @
7b6626d1
...
...
@@ -91,17 +91,21 @@ New in spot 1.99b (not yet released)
So it can effectively be used to validate tools producing Rabin
or Streett automata.
- ltlcross has a new option --grind, that attempts to reduce the
size of any bogus formula it discovers, while still exhibiting
the bug.
- ltlcross has several new options:
- ltlcross has a new option --ignore-execution-failures that
ignore translator returning non-zero exist status instead of
returning an error.
--grind attempts to reduce the size of any bogus formula it
discovers, while still exhibiting the bug.
- ltlcross has a new option --automata to save the produced
automata into the CSV or JSON file. Those automata are saved
into the HOA format.
--ignore-execution-failures that ignores translators returning
non-zero exist status instead of returning an error.
--automata save the produced automata into the CSV or JSON
file. Those automata are saved into the HOA format.
ltlcross will also output two extra columns in its CSV/JSON
output: "ambiguous_aut" and "complete_aut" are Boolean
that respectively tells whether the automaton is
ambiguous and complete.
- "ltlfilt --stutter-invariant" will now work with PSL formulas.
The implementation is actually much more efficient
...
...
src/bin/ltlcross.cc
View file @
7b6626d1
...
...
@@ -300,6 +300,7 @@ struct statistics
std
::
vector
<
double
>
product_transitions
;
std
::
vector
<
double
>
product_scc
;
bool
ambiguous
;
bool
complete
;
std
::
string
hoa_str
;
static
void
...
...
@@ -325,7 +326,8 @@ struct statistics
"
\"
terminal_aut
\"
,"
"
\"
weak_aut
\"
,"
"
\"
strong_aut
\"
,"
"
\"
ambiguous_aut
\"
"
);
"
\"
ambiguous_aut
\"
,"
"
\"
complete_aut
\"
"
);
size_t
m
=
products_avg
?
1U
:
products
;
for
(
size_t
i
=
0
;
i
<
m
;
++
i
)
os
<<
",
\"
product_states
\"
,
\"
product_transitions
\"
,
\"
product_scc
\"
"
;
...
...
@@ -366,7 +368,8 @@ struct statistics
<<
terminal_aut
<<
','
<<
weak_aut
<<
','
<<
strong_aut
<<
','
<<
ambiguous
;
<<
ambiguous
<<
','
<<
complete
;
if
(
!
products_avg
)
{
for
(
size_t
i
=
0
;
i
<
products
;
++
i
)
...
...
@@ -394,7 +397,7 @@ struct statistics
{
size_t
m
=
products_avg
?
1U
:
products
;
m
*=
3
;
m
+=
1
4
+
show_sr
*
6
;
m
+=
1
5
+
show_sr
*
6
;
os
<<
na
;
for
(
size_t
i
=
0
;
i
<
m
;
++
i
)
os
<<
','
<<
na
;
...
...
@@ -715,6 +718,7 @@ namespace
else
st
->
terminal_aut
=
true
;
st
->
ambiguous
=
!
spot
::
is_unambiguous
(
res
);
st
->
complete
=
spot
::
is_complete
(
res
);
if
(
opt_automata
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment