2011-10-31 12:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.5.4 ===

2011-10-24 16:07 Michele Dorigatti <mdorigatti@fbk.eu>

	* BUG FIX

	  Fixed issue 2843 (& for &&).

2011-10-21 15:44 Michele Dorigatti <mdorigatti@fbk.eu>

	* BUG FIX

	  Fixed wrong conditions.

2011-10-21 14:30 Michele Dorigatti <mdorigatti@fbk.eu>

	* BUG FIX

	  Fixed a wrong include in wff/w2w/wff2nnf.c, that made make
	  distcheck fail.

2011-10-17 09:30 Michele Dorigatti <mdorigatti@fbk.eu>

          * BUG FIX

	  Substituted all the occurrences of bool with boolean. This
	  should fix issue 2826.

2011-10-13 09:41 Michele Dorigatti <mdorigatti@fbk.eu>

	* BUG FIX

	  Fixed nusmv/src/wff/w2w/Makefile.am, that missed w2wInt.h,
	  causing make dist to fail.

2011-10-07 13:54 Michele Dorigatti <mdorigatti@fbk.eu>

	* BUG FIX

	  Fixed the bug 2809, which causes output errors in interactive
	  mode when both input and output were piped.

2011-08-22 09:59 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Added librbcdag.la as dependency for NuSMV linking. This fixes
	  issue 2722.

2011-08-09 11:49 Marco Roveri <roveri@fbk.eu>

	* Fix for issue @2723 and corresponding tests.

2011-08-04 08:28 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Moved the Trace BaseEvaluator initialization and registration
	  outside of command "build_model", and added it into the trace
	  package initialization routine.

	  This fixes bug 1947

2011-07-26 08:31 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Removed any trace of options -o and -1 in command
	  check_ltlspec_sbmc_inc.

	  This fixes issue 1533 and it's duplicate 1418

2011-07-15 12:52 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  - Added new env variable daggifier enabled (0, 1. Default -> 1),
	  which determines whether the daggifier is enabled or not when
	  dumping SMV models.

	  - Added relative command line option (-disable_daggifier)

	  - Documented both things in the user manual

2011-07-14 14:38 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  - Created new package Wff.

	  - Moved bmcWff functionalities to the new wff package

	  - Updated all bmcWff uses in the system

2011-07-13 08:32 Michele Dorigatti <mdorigatti@fbk.eu>

	* FEATURE Elimination of the static symbol table in Expr.c

	  Modified some files according to Mariotti's feedback.  All test
	  passes.

2011-07-11 08:35 Roberto Cavada <cavada@fbk.eu>

	* IFC - Changed ResolveSymbol_resolve to return also the resolved
	  symbol (which is likely what the user expects to see) - Some
	  cosmetics

2011-07-08 09:08 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed wrong assertion condition which was making NuSMV crash
	  under certain circumstances. The bug has been introduced by me
	  when removing all assoc_get_keys calls. (Basically, I was using
	  the wrong value in the assertion)

2011-07-08 08:32 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Now defining DISABLE_EXPR_POINTERS_ORDERING makes NuSMV to
	  compile without the expressions pointer based ordering.

2011-07-07 14:41 Michele Dorigatti <mdorigatti@fbk.eu>

	* FEATURE Elimination of the static symbol table in Expr.c

	  Now all the functions in Expr.c needing a symbol table take it
	  as parameter. If you have to use any of these functions you can
	  pass them a NULL symbol table for having only sintactic
	  semplification (this is the old behaviour), or a symbol table to
	  achieve symbolic simplification.

	  I passed the symbol table to the functions in every file I could
	  understand what the right one is.  I launched all the tests,
	  both of NuSMV and of esmc, but it'possible a symbol table is now
	  not proper used, leading to bugs. If you will get trouble, you
	  can define the SYMB_TABLE_STATIC macro that restores the old
	  (debugged) behaviour, in order understand if the bug is due to
	  this change.

2011-07-06 14:07 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Removed nusmv/src/utils/structs, and updated all places where
	  the contained macros were used.

2011-07-01 09:53 Michele Dorigatti <mdorigatti@fbk.eu>

	* REFACTORING & CLEANUP

	  Substituted the calls to CompileFlattenSexp(), which had not to
	  be there, with three new specific functions.

	  Added a big warning about the assumption of all expression being
	  flattened.

	  Some cosmetics: static functions without comments ecc...

2011-07-01 08:37 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2654, thanks to the patch provided by SM. All tests
	  PASS agains trunk.

2011-06-30 12:21 Michele Dorigatti <mdorigatti@fbk.eu>

	* BUG FIX & CLEANUP

	  Fix issue 2662.  Some cleanup according to coding rules.

2011-06-30 09:13 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  - Added support for interactive simulation using S
	  solvers. (bmc_pick_state and bmc_inc_simulate)

	  - Updated documentation accordingly

2011-06-28 12:43 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  add_property was adding a property with name N even if a
	  property named N was already in the property database.

2011-06-28 12:27 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - Added a check in pslExpr.c, for binary expressions, which
	  checks that operators '=', '!=' and '==' are not used with FL
	  Property grammar productions (e.g. "(always x) = y"), which was
	  already not supported by algorithms (check_ltlspec was resulting
	  in an assertion), but now is trapped.

	  - Fixed '==' operator conversion, which was making the compiler
	  crash.

	  - Fixed indentation in psl_grammar.y

	  - Updated the user manual w.r.t. the modifications

	  - Added an entry in the FAQ file, that describes how PSL
	  expressions are parsed

	  This also fixes issue 449

2011-06-27 13:25 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  - Removed warning from PropDb.c, which was telling (me) that the
	  incriminated piece of code should have been in another place,
	  refactored as a stand-alone function.

	  - Added int PropDb_prop_parse_name(propDb, string), which given
	  a property name in string representation, parses it and returns
	  the index of the property with that name (if any)

	  - Added option -n "name" to command add_property.

	  - The code has been refactored in order to use the new
	  PropDb_prop_parse_name instead of PropDb_prop_parse_and_add,
	  which was quite confusing if just parsing a property name

	  This closes issue 2647.

2011-06-27 12:46 Michele Dorigatti <mdorigatti@fbk.eu>

	* BUG FIX

	  Corrected SymbType_get_word_width, which had a wrong assert with
	  an || and an && exchanged:

	  was

	  nusmv_assert((SYMB_TYPE_UNSIGNED_WORD == self->tag &&
	  SYMB_TYPE_SIGNED_WORD == self->tag ) ||
	  node_get_type(self->body) == NUMBER);

	  now is

	  nusmv_assert((SYMB_TYPE_UNSIGNED_WORD == self->tag ||
	  SYMB_TYPE_SIGNED_WORD == self->tag ) &&
	  node_get_type(self->body) == NUMBER);

2011-06-27 09:21 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Replaced almost all assoc_get_keys calls with the faster
	  alternative ASSOC_FOREACH.

	  All tests are PASS against trunk 11035

2011-06-23 14:57 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed performance issue in using assoc_get_keys, as reported in
	  issue 2511.

2011-06-23 12:31 Alessandro Mariotti <mariotti@fbk.eu>

	* Added the Pair and the Triple classes:

	  Those provide an easy-to-use way to store 2 or 3 objects in one
	  single structure.

	  The classes provide also a comparison function and a hash
	  function, that can be used with the assoc structure.

2011-06-23 09:01 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed performance bug 2623. Now the code is slighly faster [from
	  "O(N*M)" to "O(M) + optimization" (quits when all elements in
	  cluster have been found), where N = #cluster and M =
	  #original_var_order]

2011-06-21 12:22 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 422 ("Type info of removed symbols"): Now the symbol
	  table provides a new trigger system, with the possibility to
	  register triggers that are triggered when adding, removing or
	  re-declaring a symbol.

	  The TypeChecker registers it's own trigger, that clears the
	  typechecker cache when re-declaring a symbol.

	  This fixes issue 422, however, there may exist other parts of
	  NuSMV affected by the same issue (i.e. memoizing things and keep
	  memoizations even if symbols are changed: COI, Sexp2BDD ecc)

2011-06-20 10:04 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2632: OptsHandler was not using unique strings as hash
	  keys, but was using char* strings, using strcmp as comparison
	  function, making it slow.

	  cinitInit.c has been modified because the ustring package was
	  shut-down before using the OptsHandler, causing a seg.fault.

2011-06-16 14:47 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in condition simplification, which was not
	  taking into account context.

	  Note: this fix is going into release 2.5.3

2011-06-16 12:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.5.3 ===

2011-06-15 16:14 Roberto Cavada <cavada@fbk.eu>

	* doc/Makefile.am: BUG FIX Ported from trunk

2011-06-15 11:32 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Restored command "compute", which is now marked as deprecated.

	  This fixes issue 2637

2011-06-15 08:59 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2633: PSL properties are no longer dumped.

	  The problem was that PSL properties did not have any normalizer.

	  Bug and relative tests have been fixed

2011-06-14 14:19 Roberto Cavada <cavada@fbk.eu>

	* TE Fixed test to consider word output format which is an option
	  added after the test was created.

2011-06-14 12:53 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REVISION

	  Some issues are changed a bit.  A couple new are added.  The
	  order is changed.

	  These changes are to be reviewed.

2011-06-14 12:26 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2631: instead of creating a trace with only COI
	  variables, a trace with all model symbols was created.

2011-06-14 12:25 Alessandro Mariotti <mariotti@fbk.eu>

	* Added exaustive test for bug 2631.

	  The test checks if every MC algorithm applied to COI creates a
	  valid trace..  Please mail me if I missed an algorithm

2011-06-14 11:58 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2214, caused by a memory corruption

2011-06-13 15:14 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed "make distcheck", this should close issue 2630

2011-06-13 14:14 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Added -keep_single_value_vars command line option AND
	  keep_single_value_vars env variable. Setting/enabling this
	  option avoids that variables with only one single possible value
	  (e.g.  VAR x : {a}) become constant DEFINEs.

2011-06-13 13:54 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed some trivial errors of the scripts, and added
	  run_all_local.py, which is a copu of run_all_remote.py, but runs
	  the tests on the machine on which it is invoked

2011-06-13 12:03 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Restored parameter "steps" of the simulate command, in order to
	  provide backward compatibility with NuSMV 2.5.2.

	  This fixes issue 2629

2011-06-13 10:53 Roberto Cavada <cavada@fbk.eu>

	* FEATURE (Issue 2549) Default boolean encoding for scalars is not
	  H2L balanced.  See issue 2549 for all details.

2011-06-13 09:43 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a regression introduced in rev. 10935

2011-06-10 16:30 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed not compliant test which was making run_all.sh
	  fail.

2011-06-10 13:58 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed issue 738. Some files have been added to the dist bin /
	  src, including FAQ

2011-06-10 13:29 Michele Dorigatti <mdorigatti@fbk.eu>

	* Moved an #ifdef BENCHMARKING after the inclusion of bmcInt,
	  where there is an uncommentable line with #define BENCHMARKING.

	  This fix bug 2186.

2011-06-10 13:26 Michele Dorigatti <mdorigatti@fbk.eu>

	* TEST CASE

	  Added the case test bug_2395 that implements the issue 2395
	  about segmentation fault because of recursion in dag. With the
	  iteration this bug doesn't occur anymore.

2011-06-10 10:48 Alessandro Mariotti <mariotti@fbk.eu>

	* DOCUMENTATION

	  Documented operator sizeof.

	  This fixes issue 2627

2011-06-10 09:24 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, CLEANUP - call Utils_log2_round instead of internal
	  (buggy) up_log2 which was removed.  - removed/fixed some
	  warnings

2011-06-10 09:21 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNCTION Aded Utils_log2_round which came from refactoring
	  and warning removal.  Previously it was static in compileCmd
	  (but is was buggy).

2011-06-10 07:17 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 2349 Accepted AT proposal.  Old code kept for record

2011-06-09 22:29 Marco Roveri <roveri@fbk.eu>

	* This commit should fix the regressions introduced in previous
	  commits to fix issues: #918 and #1803

	  Problems where due to wrong iteration over a list (at each
	  iteration modifications were wrongly performed on the head of
	  the list instead of to the ith element).

2011-06-09 13:43 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* TEST FIX FOR ISSUE #1471

	  comment is added that this is not a valid SMV file but template:
	  examples/calculator/calculatorN.smv examples/abcd/abcdN.smv

	  bug is fixed when parameters is used to pass a name for variable
	  or defined; parentheses are added arround +, i.e. "a + 1 mod N"
	  changed to "(a+1) mod N": examples/example_irst/periodic.smv
	  examples/example_cmu/periodic.smv examples/ctl-ltl/periodic.smv

	  Bug is fixed with parameters used to pass identifiers:
	  examples/pci/pci.smv

2011-06-09 13:10 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed all sprintf and snprintf calls, that were not checking
	  whether the given buffer is big enaugh to hold the format string
	  + the parameters.

2011-06-09 13:07 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Now FAQ is included in the dist tar.

2011-06-09 11:57 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Changed default layer positioning from TOP to BOTTOM, as
	  suggested in issue 440, which can also be closed after this
	  commit

2011-06-09 09:47 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed some conflicts

2011-06-08 16:30 Roberto Cavada <cavada@fbk.eu>

	* DOCS Fixed README: - minimal requirements - sim solver finally
	  dropped - some fixes about sat solvers

2011-06-08 16:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 2608 autoreconf.sh is now fixed.

2011-06-08 16:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX To fix a problem with "make install"

2011-06-08 14:13 Roberto Cavada <cavada@fbk.eu>

	* FIX 1471 Fixed remaining problems with 0|1 vs FALSE|TRUE in
	  examples.  Remaining fixes to close the issue:

	  :FAIL: EXAMPLES TEST ../../examples/example_irst/periodic.smv:
	  :FAIL: EXAMPLES TEST ../../examples/ctl-ltl/periodic.smv: :FAIL:
	  EXAMPLES TEST ../../examples/pci/pci.smv: :FAIL: EXAMPLES TEST
	  ../../examples/example_cmu/periodic.smv:

	  All due to the error: file [...]: multiple declaration of
	  identifier (previously declared as parameter): [xxx]

2011-06-08 13:57 Marco Roveri <roveri@fbk.eu>

	* Modified the BddEnc to take into account the
	  "bdd_encode_word_bits" option.  This might be useful for
	  instance in BMC to avoid the creation of BDD variables when
	  there are a huge number of large words, or in general in some
	  use as library with some estensions (e.g. SW model checker)

2011-06-08 13:55 Marco Roveri <roveri@fbk.eu>

	* Added a new internal option "bdd_encode_word_bits" to disable
	  the creation of BDD variables. This might be useful for instance
	  in BMC to avoid the creation of BDD variables when there are a
	  huge number of large words, or in general in some use as library
	  with some estensions (e.g. SW model checker)

2011-06-08 10:20 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1471 First part of bug fixing issue 1471.  Added set of
	  examples which have to be excluded from the test, because not
	  parsable (they are templates for example generation).

2011-06-07 18:33 Marco Roveri <roveri@fbk.eu>

	* changed librbcdag.la from noinst to simply lib to enable linking
	  of kratos.

	  TO BE REVISED

2011-06-07 15:58 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1081 Fixed bug
	  https://essvn.fbk.eu/bugs/view.php?id=1081

2011-06-07 15:06 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1378 Extended the printer to handle _all_ node types

2011-06-07 14:10 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in production of COMPWFF

2011-06-07 13:48 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP (Issue 1378) Removed unused node types.  Ths issue is
	  still open, this is only the first part of a double commit.

2011-06-07 12:46 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2321. Now name clashes with constants are searched in
	  all parts composing the whole flattened name.

	  Some tests needed some trivial changes, all other tests PASS wrt
	  current trunk

2011-06-07 08:16 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Now BMC problem dumping explains why it fails, if it
	  fails. (uses errno and strerror)

	  This closes mantis issue 1044

2011-06-06 16:04 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 2093 Fixed several warnings (unitialized variables, but
	  also wrong parameters and missing inclusion which would cause
	  problems under 64 bits).

	  There are still some pending issues in rbc:

	  rbcFormula.c:586: warning: ‘l1’ may be used uninitialized in
	  this function rbcFormula.c:587: warning: ‘l2’ may be used
	  uninitialized in this function rbcFormula.c:588: warning: ‘r1’
	  may be used uninitialized in this function rbcFormula.c:589:
	  warning: ‘r2’ may be used uninitialized in this function

2011-06-06 16:02 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed wrong use of ListIter structure, which would cause
	  a buggy behaviour.

2011-06-06 16:04 Alessandro Mariotti <mariotti@fbk.eu>

	* DOCUMENTATION

	  Added better documentation for the next operator support in
	  DEFINE bodies.

	  This closes issue 2242 (I've checked many parts of the manual,
	  and where necessary, the documentation about the next operator
	  support has been added or was already existing.

2011-06-06 15:22 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Fixed documentation of function expr2bexpr_recur.

	  This fixes mantis issue #934

2011-06-06 15:11 Alessandro Mariotti <mariotti@fbk.eu>

	* DOCUMENTATION

	  Fixed documentation about integer numbers limit, which was
	  reported to be 2^32 + 1 .. 2^32 - 1, but actually is 2^31 + 1
	  .. 2^31 - 1

	  This closes (temporary) issues 1832 and 1817.

2011-06-06 14:47 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  - Renamed compile_concat_contexts to
	  CompileFlatten_concat_contexts, which is now also exported by
	  compile.h

	  - All code that was using the function has been refactored
	  accordingly and all extern declarations of the old function have
	  been removed

2011-06-06 13:25 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #2515

	  When unresolved symbols are used in declaration of array size, a
	  gentle error message is reported.

	  This fix issue 2515 (FAQ note moved to issue

2011-06-06 12:05 Roberto Cavada <cavada@fbk.eu>

	* FEATURE #0925 - Added memoization to var mask computation.  -
	  Removed old unused code of mask computation

	  This closes issue https://essvn.fbk.eu/bugs/view.php?id=925

2011-06-06 11:34 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1486 Removed unused field.

2011-06-06 10:21 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed the grammar, it now accepts empty FROZENVAR statement.

	  This fixes mantis issue 915

2011-06-01 15:29 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTOTING

	  All nusmv_assert(0) and nusmv_assert(false) and nusmv_assert(0
	  && "String") have been replaced with the
	  error_unreachable_code() and error_unreachable_code_msg()
	  macros.

	  This fixed mantis issue 1944

2011-06-01 12:07 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Defined 2 new macros:

	  - error_unreachable_code() - error_unreachable_code_msg(msg...)

	  The first one is going to replace all nusmv_assert(0); and
	  nusmv_assert(false); calls.

	  The second one is going instead to replace all nusmv_assert(0 &&
	  "msg") or nusmv_assert(false && "msg) calls.

	  The macros have been designed in order to give as much as
	  possible informations about the error: File, linenumber,
	  function, as done by assertions.

2011-06-01 11:51 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Replaces srand() and rand() with the relative functions defined
	  in utils/defs.h, which are more portable

2011-05-31 12:25 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Renamed command "compute" in "check_compute"

	  Fixed documentation accordingly

2011-05-31 12:04 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  - Uniformed SAT based and BDD based simulation commands. Now
	  they all have the same options, made exception for the -i
	  (interactive mode) and the -a (to be used in interactive mode)
	  in all sat based commands. For this issue, there already exist a
	  mantis ticket [#2602]

	  - Fixed user manual for reflecting the changes in the code base

	  - Fixed all tests that were using the old command interfaces

	  - Added default_simulation_steps environment variable, which is
	  used by the simulation commands for retrieving the default
	  number of steps to be generated for the simulation trace.

	  This commit closes issues: - 1226 - 1605 - 1603

2011-05-30 14:48 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Added some better instructions on how to make the on-line help
	  (aka the command "help <command>" in NuSMV) working.

	  1) If one runs "help help" and the documentatio is not
	  available, a message explaining how to build the on-line
	  documentation

	  2) If one runs "help <cmd>" and the documentation is not
	  available, he/she is encouraged to type "help help"

	  3) If the on-line documentation is available and correctly
	  set-up, but the documentation was unable to build correctly
	  because of the lack of the "lynx" or the "links" command, typing
	  "help <cmd>" will show a message explaining that.

	  This closes both issues 1846 and 1876

2011-05-30 13:13 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Functions SymbTable_get_{vars,defines} were removed, but
	  still used in this module. This made linking fail when building
	  NusmvInterface.

2011-05-30 11:50 Alessandro Mariotti <mariotti@fbk.eu>

	* NEW FEATURE

	  - Added pointer-based ordering for commutative operators (fixed
	  issue 1569)

	  - Fixed node manager's hashing function, in order to perform
	  better with the new feature

2011-05-27 19:03 Michele Dorigatti <mdorigatti@fbk.eu>

	* Stage: Two level minimization for RBC in rbc/rbcFormula.c Flag
	  to disable ITE and/or IFF connective A function to print Cnf
	  stats in be/beCnf.c Added the code to identify ITE connective
	  when expressed with a only-AND formula, in rbc/InlineResult.c

	  Project of moving RBC from dag to node: Partially made the
	  package rbc independent from its low lowel data structures:
	  Macros in rbc/rbc.h to call DFS independently from the low level
	  data structures Functions to get the type of an rbc vertex from
	  outside the package bmcConv.c now interfaces directly with rbc.h
	  A iterative DFS in dag/dagDfs, now the default, besides the
	  recursive one Added a void* field to node_rec to handle
	  efficiently rbc Added Stack_create_with_param() in utils/Stack.c
	  to let the user to choose the initial size

2011-05-26 09:06 Alessandro Mariotti <mariotti@fbk.eu>

	* Renamed env var "enable_bdd_cache" to "enable_sexp2bdd_caching"
	  Renamed command "clean_bdd_cache" to "clean_sexp2bdd_cache"
	  Renamed CMD line option "disable_bdd_cache" to
	  "disable_sexp2bdd_caching"

	  Fixed documentation accordingly

2011-05-26 08:49 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Added file naming convention (case-sensitive problem) to the
	  coding rules.

	  This fixes issue 1686

2011-05-25 12:47 Alessandro Mariotti <mariotti@fbk.eu>

	* DOCUMENTATION

	  - Added description of env var use_coi_size_sorting in all
	  properties verification commands

2011-05-25 09:45 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Removed useless BddEnc parameter from SAT-Trace building
	  routines.

	  This defenitely fixes issue 981.

2011-05-25 09:06 Sergio Mover <mover@fbk.eu>

	* BUG FIX

	  Fixed issue 2011.

2011-05-24 14:16 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed "show changes only" for DEFINEs and INPUT variables.  This
	  fixes issue 1110

2011-05-24 10:02 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Added the possibility to disable all syntactic checks performed
	  by the compiler. This can be done using cmd line option
	  -disable_syntactic_checks or by using the env variable
	  "disable_syntactic_checks"

	  A description of the feature has been also added to the user
	  manual

2011-05-24 09:00 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Added new_assoc_with_size method, which lets the caller the
	  possibility to choose the hash initial size

2011-05-23 07:57 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Exported nusmv_FREE to be called by external CRT (like
	  ms visual studio)

2011-05-20 13:42 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixes several memory leaks in clusterlist (ASLE
	  structure)

2011-05-20 10:44 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #2563 Fixed corner case in
	  https://essvn.fbk.eu/bugs/view.php?id=2563

2011-05-20 10:36 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #002576, COMMENTS

	  Fixed memory leak in groupinfo as reported in
	  https://essvn.fbk.eu/bugs/view.php?id=2576

	  Added some comments to clarify a few methods.

2011-05-18 14:04 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 02590 Simplification of case conditions is done,
	  acccording to issue 2590.

2011-05-18 10:19 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed clenaup of hash, which could in some cases corrupt
	  the heap space making nusmv crash while quitting.

2011-05-11 11:49 Andrea Micheli <amicheli@fbk.eu>

	* MEMORY LEAK

	  Fixed a memory leak caused by a missing deinitialization that
	  valgrind detects when NuSMV is used from Kratos.

2011-05-10 14:37 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Added function RbcManager_Reset, needed for interpolation based
	  algorithms

2011-05-09 10:32 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed xml schema. Thanks to [MaC] (Martino Ciresa) for
	  reporting the issue.

2011-05-09 08:24 Alessandro Mariotti <mariotti@fbk.eu>

	* Added support for the new Minisat-2.2.0 with proof logging to
	  the sat classes. Only non-incremental sat solver with proof
	  logging is available up to now. Minisat does not use any
	  simplification by default (still not supported)

2011-05-04 20:01 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  I fixed function SymbType_calculate_type_size.  1. it went in
	  infinit loop if number of enum values was 1 2. for number of
	  enum values NOT equal to power of 2 the function returned 1 less
	  bit than necessary.

2011-05-03 13:25 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed lineno handling of modules in H

2011-05-03 13:17 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - SymbLayer

	  o Fixed bool_[state|frozen|input]_vars_num update when removing
	  a var

	  o Fixed memory corruption on array shrinking

	  o Fixed error of array resizing: should never be below the
	  initial size

	  - SymbCache

	  o Fixed error of array resizing: should never be below the
	  initial size

2011-05-02 16:23 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Extended HRC dumpers to dump also compiler information

2011-05-02 14:51 Roberto Cavada <cavada@fbk.eu>

	* FEATURE A first implementation of issue #02559 (Lax mode for the
	  parser only)

2011-04-29 14:49 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - Fixed column / row trace plugins

	  - Added TraceCompat plugin (index = 5) which does exactly what
	  the old TraceTable row plugin did before this commit

2011-04-28 13:04 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Added prop_print_method environment variable. With this
	  variable, it is possible to change how a property is printed
	  during a verification process. It is possible to choose between:

	  name : prints the property name, defaults to "index" index:
	  prints the property index, defaults to "truncated" truncated:
	  prints the first 40 chars of the property's formula formula:
	  prints the formula (default)

	  Documentation has been updated as well

2011-04-28 10:49 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Removed memory leak

2011-04-26 14:23 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed several issues in hrc xml dumper. Now produced
	  output is validated against the provided xsd schema.

2011-04-26 11:49 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2546, + added automatic test

2011-04-26 08:17 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  New implementation of the NodeList: It now uses a double linked
	  list + one hash table for NodeList_belongs_to and
	  NodeList_count.

	  No noticeable speedups, but avg. 20% of memory is saved in the
	  tests i've seen.

2011-04-22 16:16 Roberto Cavada <cavada@fbk.eu>

	* FEATURE #2549 New encodings are available (although still not
	  enabled).  Now tests are needed to decide the best

2011-04-21 12:55 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added 'plugin' mechanism for dumping hrc.

	  * Added HrcDumper virtual base class.  * Added derived classes
	  HrcDumperSmv, HrcDumperXml and HrcDumperDebug.  * Added new
	  command 'hrc_dump_model' show implementation will eventually
	  substitute hrc_write_model's

	  The old command 'hrc_write_model' is untouched for testing
	  purposes.

	  The new command 'hrc_dump_model' is still to be documented.  New
	  code docs have to be completed.

2011-04-21 12:36 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed problem in the MasterNodeWalker:

	  when destroying the master node walker, each registered node
	  walker is destroyed. The node walker destroy method calls
	  MasterNodeWalker_unregister(master, self), which side-effects on
	  the list on which we were iterating before when destroying the
	  MasterNodeWalker.

	  This bug shows only with the new implementation of NodeList,
	  which will be committed asap. I don't know why the bug does not
	  show with the current NodeList implementation, but it is a case.

2011-04-20 11:01 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX #include is added to fix issue 2544.

2011-04-20 09:47 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Completely removed from the system the NodeList_to_node_ptr
	  function.  This fixes mantis issue 2260.

	  All NuSMV and esmc tests are ok vs trunk rev. 10635

2011-04-19 11:49 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE

	  Added option -e to check_invar_bmc, which enables for algorithm
	  "een-sorensson" the second induction step described in issue
	  1445

	  The user manual has been updated accordingly

2011-04-18 13:26 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #2536 A tentative fix for bug 2536. To be tested more
	  heavily.

2011-04-15 09:56 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  As suggested by RC, all unsigned long used in the Stack class
	  have been replaced with "size_t". Also all array accesses have
	  been changed from array[index] access to *(array + index)
	  access.

2011-04-15 09:15 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2338: Defines were not preserved after a chain of
	  "write_boolean_model". Now defines are dumped

2011-04-14 12:35 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  The symbol table has a new internal implementation.

	  - All methods which were returning a NodeList (made exception
	  for a couple of functions) have been removed.

	  - A new iterator-based system has been added in order to provide
	  a nice API to Symbol Table / Symbol Layer symbols access.

	  - All code which was using the old ST API has been refactored in
	  order to compile and work as usual.

	  - This commit fixes mantis issues 2281 and 2519

2011-04-14 12:29 Marco Roveri <roveri@fbk.eu>

	* * Added a new function BddEnc_force_order_from_file that reads
	  an order file from a file, and forces it in the BDD package.  -
	  Not yet tested in deep.  * Minor code cleanup in the .h
	  (i.e. spaces, tabs)

2011-04-14 11:12 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #2531

	  Fixed bug in bdd encoder. Dynamic reordering was erroneously
	  assumed to be disabled during variable construction. Although
	  levels were booked, if dynamic reodering happened during this
	  phase, a bug/crash happened.

2011-04-07 15:36 Stefano Tonetta <tonettas@fbk.eu>

	* BUGFIX

	  Fixed dumper of traces in table format printed by rows.

2011-04-07 13:02 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in option handling of command dump_fsm

2011-04-07 10:04 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2517: Tabs and other special characters were not
	  escaped when dumping the XML file, resulting in a different
	  character when read again by the XML parser.

	  Now characters from 009 (tab) to 033 (!) are also escaped

2011-04-07 10:02 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 2398: The TraceXMLLoader was reading XML text fields
	  even if not necessary at all. If there were a lot of spaces,
	  newlines, tabs ecc in a tag of which the text is useless, the
	  loader was still reading all these characters, eventually
	  resulting in an assertion failure for a buffer overflow.

	  Now only used text parts of a tag are read, in order to avoid
	  such problems and speedup the reading.

2011-04-04 08:54 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #2503 Fixed bug due to missing header inclusion.  This
	  was causing problem under 64 bit platforms

2011-03-30 15:58 Roberto Cavada <cavada@fbk.eu>

	* NEW COMMAND Added command 'dump_fsm' which dumps (in DOT) free
	  combinations of: init, tras, invar, fair states, reachables,
	  expression provided by the user.

	  The command has to be documented.

2011-03-30 13:48 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING YAR about dumping (now functions accept array of
	  labels to kark the roots, which is much more general).

2011-03-30 13:00 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNC, CLEANUP

	  - Added new function AddArray_get_array - Removed internals info
	  from the public interface

2011-03-30 12:58 Roberto Cavada <cavada@fbk.eu>

	* DOCS, IFC - Fixed docs of dd_dump_dot - Added type dd_ptr
	  (general DdNode*) - Fixed protoypes of funcs taking geenral
	  DDNode*, to receive dd_ptr

2011-03-18 11:31 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #002479 Fixed bug #2479
	  (https://essvn.fbk.eu/bugs/view.php?id=2479) reported in esmc.

	  WordNumber constants were constructed wrongly in several places,
	  when signed values were involved. In some cases signed values
	  were contructed with the constructor to be used for unisigned
	  values, but the code was working because positive values were
	  used. I fixed also those cases as the overlapping of unsigned
	  values and (positive) signed values is an implementation detail.

2011-03-08 15:48 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  Function BddEnc_get_unfiltered_vars_cube is added. It is similar
	  to BddEnc_get_vars_cube but allowed to specify independently for
	  every var if current-state or next-state bits are required.

2011-03-02 16:30 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Fixed a bug in the predicate extractor, which was crashing when
	  over-approximating in some cases.

2011-02-22 09:19 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #002348 (and duplicated #002429) Circular dependencies
	  check among defines is back.

2011-02-15 16:30 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP Removed internal header inclusion from public interface
	  bmcBmc.h.  This required a fix of some code which was relying on
	  this wrong inclusion.

	  Fixed a bug in trunk/nusmv/src/utils/utils.c (inclusion of a
	  file within a function was possibly confuse the compiler)

2011-02-15 15:47 Roberto Cavada <cavada@fbk.eu>

	* PORTABILITY Fixed some headers to make possible to include them
	  into MSVC

	  WARNING: This commit may break gcc building, as changes have to
	  be checked with gcc under linux (which I am doing immediately)

2011-02-15 13:24 Roberto Cavada <cavada@fbk.eu>

	* CONFIGURATION Added useful variables to nusmv-2.pc, which can
	  now be used to find cudd and minisat directories

2011-02-14 15:16 Roberto Cavada <cavada@fbk.eu>

	* IFC Added two functions for the (de)initialization of bmc data
	  structures, to avoid the inclusion of the internal interface.

2011-02-14 14:43 Roberto Cavada <cavada@fbk.eu>

	* IFC Promoted internal functions (init and quit of flattener) to
	  be public, as they need to be accessed from outside, when
	  initializing the system.

2011-02-14 14:31 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added some accessors to stdout and stderr, to be used
	  from other CRTs.

2011-02-11 10:39 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed duplicated symbol nusmv_stderr Thanks to Siamak
	  Haschemi for reporting it on 02/11/2011 11:18 AM.  (nusmv-users)

2011-01-21 09:32 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Changed pre-requisites of read_trace command to
	  build_flat_model; this is correct as the sexp fsm is required to
	  calculate the language of the trace. This has been discussed
	  with RC when deploying the new trace pkg.

2011-01-21 09:29 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed command build_boolean_model to setup default trace
	  evaluator, if no evaluator is found. This is now symmetrical
	  with build_model.

2011-01-18 17:52 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Added (experimental) feature to show_vars to print defines names
	  and types (option -D).

	  Since show_vars is likely to be not the right place for it, it
	  has not been documented, waiting for the final collocation (I
	  need it for nusmv3's gui).

	  The code was marked accordingly with a #warning

2011-01-17 15:32 Roberto Cavada <cavada@fbk.eu>

	* NEW OPTION, MEMORY FIX * fixed memory leak in show_vars

	  * added option -V to show_vars, to print only the list of
	  variables with their types, and no summaru information.

	  Fixed docs and NEWS accordingly.

2011-01-13 16:37 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  Now indentation-related functions have a new function with
	  arbitrary number of arguments, similar to standard "fprintf".

2011-01-11 13:07 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Added new rewriting method for LTL formulas.

	  " The LTL formula is rewriten by substituting Phi with "X sv",
	  where sv is a fresh boolean state variable, and adding a new
	  transition relation "TRANS next(sv) <-> Phi" and a new initial
	  condition "INIT sv"; For example, LTL formula

	  G (s < i)

	  becomes

	  G (X sv)

	  and the model is augmented by

	  VAR sv : boolean; INIT sv; TRANS next(sv) <-> (s < i); "

2011-01-10 21:14 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* API EXTENSION

	  Now Invar Checking can explicitly take a list of symbols to
	  build traces.

2010-12-31 14:30 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX stdout has to be fflushed when printing quantitative
	  checking results

2010-12-28 15:41 Roberto Cavada <cavada@fbk.eu>

	* NEW OPTION

	  * Added option -t to show_vars, to print only the number of
	  variables (among selected kinds), grouped by type.

	  * Fixed docs accordingly

	  * Some minor fixes and cosmetics

2010-12-18 10:15 Marco Roveri <roveri@fbk.eu>

	* - Changed signature of Compile_is_expr_booleanizable to take as
	  first argument the symbol table.  - Modified the
	  Compile_is_expr_booleanizable to make use of the ResoveSymbol
	  class

2010-12-17 16:35 Roberto Cavada <cavada@fbk.eu>

	* MINOR BUG FIX Standardized the format of an error message, which
	  was confusing the gui.  I already checked that existing tests
	  are not affected by the change.

2010-12-17 16:34 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in xml file that was occurring when the db
	  is empty

2010-12-17 09:09 Roberto Cavada <cavada@fbk.eu>

	* DOCS Ported NEWS from 2.5.2 release.  Added draft for 2.5.3,
	  containing new option -F for cmd show_property.

2010-12-17 09:08 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added XML format to output of show_property.  Fixed code
	  and documentation (user manual).  NuGAT also was updated to
	  reflect the change in one function's prototype (Prop_print_db)

2010-12-17 09:03 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added function to escape strings when dumping xml files.

2010-12-16 12:27 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* DEBUGING CODE/NEW FEATURE

	  Added a debugging code able to generate a trace showing failure
	  of the induction (currently only in Dual alogirhtm). The code is
	  currently disabled with marcos.

	  At some moment it will be necessary to implement it properly and
	  introduce a command option to control this feature.

2010-12-07 14:00 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed mantis issue 2301, and ported fix to all grammars /
	  lexers.

	  The yytext variable was sometimes declared as "extern char
	  yytext[];" instead of "extern char* yytext;". This was causing
	  the bad printing of the token on windows (Linux didn't seem to
	  be affected)

2010-12-06 21:49 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX #918 and #1803.

	  Bug was about formula "E(f U g)" causing internal error during
	  counter-example generation.

2010-12-06 21:42 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* VERBOSITY CHANGE

	  I changed the verbosity of SexpInliner to +4 level, i.e. 1 -> 5,
	  2 -> 6, etc.

2010-12-03 16:07 Alessandro Mariotti <mariotti@fbk.eu>

	* NEW FEATURE

	  Added the possibility to create "volatile" traces: A volatile
	  trace is a trace which does NOT own an instance of the symbol
	  table, and thus must be treated in a different way than a
	  standard trace.

	  The feature has been added since the Symbol Table has known
	  bottlenecks (starting from it's possible huge size).

	  All algorithms that are creating / generating traces have been
	  refactored as follows:

	  As before, all methods *create_trace*(...) have been keept with
	  the same signature and behave as previously, but the body has
	  been changed in order to use the NEW functions that FILL a trace
	  instead of generating one.

	  Those new functions have been declared below the old ones and
	  instead of taking as input a trace name, a trace description and
	  a set of symbols, they just take a trace, which must be empty
	  (See definition if empty trace in the new Trace_is_empty
	  function).

	  The same trace is then returned, but filled with all
	  assignments.

2010-11-26 16:10 Alessandro Mariotti <mariotti@fbk.eu>

	* MEMORY LEAK FIX

	  Fixed a couple of memory leaks. Lists returned with
	  assoc_get_keys were not freed.

2010-11-26 08:42 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed #2312 by reverting changes made in rev. 9549 that
	  incorrectly addressed unreproducible bug #1841.

	  Both #1841 and #2312 pass now

2010-11-23 15:27 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed mantis issue 2298. All tests have been run successfully.

2010-11-23 13:35 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG TEXT 2301

	  the test has to be run under Windows!  Under Linux there is no
	  problems.

2010-11-23 11:13 Roberto Cavada <cavada@fbk.eu>

	* CRITICAL BUG FIX Fixed severe bugs in cinit initialization,
	  regarding memory allocations.

	  Allocated memory was corrupted, and when freed occasional glibc
	  errors with final segfault were occurring.

	  The source of the problem was identified with valgrind and gdb.

2010-11-10 10:44 Sergio Mover <mover@fbk.eu>

	* BUGFIX The function "NuSMVCore_main" returned the variable
	  "status" instead of "requires_shutdown". This prevented NuSMV
	  and esmc to quit silently (option "-X" of quit command).  The
	  issue has been verified with [AMa].

2010-11-09 16:47 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX + PERFORMANCE FIX

	  Fixed memory leaks described in issue #2244
	  (https://essvn.fbk.eu/bugs/view.php?id=2244) and implemented new
	  version of NodeList data structure.

	  * NodeList has now an additional hashtable to perform most of
	  the operations in (ammortized) constant time.

	  * Removed memory leak in NodeList_remove_elem_at.

	  * Removed invalid iterator problems.

	  * Fixed memory leaks in use of NodeList_remove_elem_at.

	  * Placed a warning in pslConv.c since it was unclear whether we
	  have a memory leak or not.


2010-10-29 12:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.5.2 ===

2010-10-26 15:49 Alessandro Mariotti <mariotti@fbk.eu>

	* src/cinit/cinitCmd.c, src/cinit/cinitData.c,
	  src/cinit/cinitInit.c, src/cinit/cinitMisc.c,
	  src/cinit/cinitVers.c: REFACTORING

	  Refactored package cinit in order to respect the coding rules.

2010-10-26 14:30 Alessandro Mariotti <mariotti@fbk.eu>

	* src/cinit/cinitCmd.c, src/cinit/cinitData.c,
	  src/cinit/cinitInit.c, src/cinit/cinitInt.h,
	  src/cinit/cinitMisc.c, src/cinit/cinitVers.c: REFACTORING

	  Renamed old functions with prefix "sm"

2010-10-26 13:31 Roberto Cavada <cavada@fbk.eu>

	* Makefile.am, configure.ac: BUG FIX This commit resolves these
	  issues:

	  1. configure.ac no longer uses deprecated parameters when
	  calling AM_INIT_AUTOMAKE

	  2. very old tar limited to 99 char in names is no longer used
	  (it was causing problems when generating html prog manual)

	  3. target distbin now strips the executables

2010-10-26 13:02 Roberto Cavada <cavada@fbk.eu>

	* helpers/extract_doc.in: BUG FIX Packages 'addons' and 'sm' were
	  renamed, but the doc extractor was not updated accordingly.

2010-10-25 14:03 Alessandro Mariotti <mariotti@fbk.eu>

	* src/cinit/cinitData.c: BUGFIX

	  Fixed mantis issue 2203: -bmc and -bmc_length options were
	  registered even if no SAT solver is given from the configuration
	  step.

2010-10-22 14:26 Marco Pensallorto <pensallorto@fbk.eu>

	* src/trace/TraceManager.c, test/traces/new/bug_6a.cmd,
	  test/traces/new/bug_6b.cmd: BUGFIX + TESTING

	  Fixed a small bug in symbols filtering. Thanks to AMa for
	  reporting it.

2010-10-22 13:48 Alessandro Mariotti <mariotti@fbk.eu>

	* src/compile/compileFlatten.c, src/fsm/sexp/Expr.c,
	  src/sexp/SexpInliner.c: BUGFIX

	  Fixed mantis issue 2194. All recursive uses of Expr_resolve have
	  been checked. Now real-time CTL operators have a special
	  treatment in order to preserve the range sub-expression.

2010-10-22 09:58 Marco Pensallorto <pensallorto@fbk.eu>

	* test/bug_2188, test/bug_2188/bug0.cmd, test/bug_2188/bug0.smv,
	  test/bug_2188/bug1.cmd, test/bug_2188/test.sh: TESTING

	  Added test case for issue #2188

2010-10-22 09:52 Marco Pensallorto <pensallorto@fbk.eu>

	* test/bug_1291, test/bug_1291/bug0.cmd, test/bug_1291/bug0.smv,
	  test/bug_1291/bug1.cmd, test/bug_1291/test.sh: TESTING

	  Added test case for issue #1291

2010-10-22 09:30 Marco Pensallorto <pensallorto@fbk.eu>

	* src/simulate/simulate.c: BUGFIX + MAINTENANCE

	  Refactored a function in simulate.c for easier readability and
	  maintainability. The constraints used into interactive
	  simulation are now properly type-checked before translating them
	  into BDDs.  This commit fixes issue #2188.

	  Also removed a couple of warnings due to incorrect typecasts.

2010-10-21 17:55 Andrea Micheli <amicheli@fbk.eu>

	* src/fsm/sexp/SexpFsm.c, src/fsm/sexp/SexpFsm_private.h: BUGFIX

	  Fixed bug #2078 (https://essvn.fbk.eu/bugs/view.php?id=2078).

	  * SexpFsm class now uses SexpInliner instead of its own inlining
	  routines.

	  * Inlining learning-phase now uses only invars for invars, invar
	  and init for init and invar and trans for trans to guarantee the
	  correctness of the inlined FSM.

	  * Old inlining routines and fields has been removed from SexpF
	  class.

2010-10-21 15:58 Alessandro Mariotti <mariotti@fbk.eu>

	* src/compile/symb_table/ResolveSymbol.c: BUGFIX

	  - Fixed seg.fault in the ModelSimplifierExpr class. The "Nil"
	  value for a process name was not correctly considered as "main"
	  constant value.

	  - Added an assertion to ResolveSymbol.c, where "name" parameter
	  of the ResolveSymbol_resolve function is expected to be non-NULL

2010-10-21 15:32 Andrea Micheli <amicheli@fbk.eu>

	* test/bug_2078, test/bug_2078/a.smv, test/bug_2078/t.cmd,
	  test/bug_2078/test.sh: NEW TESTCASE

	  Added testcase for bug #2078
	  (https://essvn.fbk.eu/bugs/view.php?id=2078).

2010-10-21 15:07 Marco Pensallorto <pensallorto@fbk.eu>

	* src/compile/compileCone.c: MAINTENANCE

	  Reverted a fix to compile cone on request of MR. I filed a
	  ticket regarding this issue (#2191) and added a warning.

2010-10-21 13:00 Alessandro Mariotti <mariotti@fbk.eu>

	* src/cinit/cinitInit.c, src/cinit/cinitInt.h, src/cmd/cmd.h,
	  src/cmd/cmdCmd.c, src/cmd/cmdFile.c, src/cmd/cmdInt.h,
	  src/cmd/cmdMisc.c, src/dd/dd.c, src/dd/dd.h, src/dd/ddCmd.c,
	  src/dd/ddInt.h, src/opt/OptsHandler.c, src/opt/OptsHandler.h,
	  src/opt/optCmd.c, src/opt/optInt.h,
	  src/trans/bdd/ClusterOptions.c: BUGFIX

	  - Fixed the echo command, which was not correctly printing
	  variables (e.g. echo $on_failure_script_quits outputs the value
	  of the variable instead of the string it self

	  - Removed obsolete variable cmdFlagTable and relative methods
	  and calls. This old system for holding variables values has been
	  replaced with the OptsHandler class.

2010-10-21 12:46 Marco Pensallorto <pensallorto@fbk.eu>

	* doc/user-man/inter.tex: DOCUMENTATION

	  Added reference to env vars traces_hiding_prefix and
	  traces_regexp in pick_state and simulate commands.

2010-10-21 12:17 Marco Pensallorto <pensallorto@fbk.eu>

	* src/compile/compileCone.c, src/compile/compileWrite.c,
	  src/compile/compileWriteUdg.c, src/opt/opt.h, src/opt/optCmd.c,
	  src/opt/optInt.h, src/simulate/simulateTransSet.c,
	  src/trace/TraceManager.c, src/trace/TraceManager.h,
	  src/trace/TraceOpt.c, src/trace/pkg_trace.c,
	  src/trace/pkg_trace.h, src/trace/plugins/TracePlugin.c: BUGFIX

	  This commit fixes issue 0001291: simulation commands do not
	  respect shell vars to filter variables. A bit of refactoring has
	  been done as described in the related Mantis ticket.

	  A few system variables has been renamed. Complete list follows:

	  counter_examples_hiding_prefix -> traces_hiding_prefix
	  counter_examples_show_re -> traces_regexp show_defines_in_traces
	  -> traces_show_defines trace_show_defines_with_next ->
	  traces_show_defines_with_next

2010-10-20 13:01 Alessandro Mariotti <mariotti@fbk.eu>

	* test/bug_2114, test/bug_2114/echo.cmd, test/bug_2114/test.sh:
	  TESTS

	  Added self test for bug 2114

2010-10-20 09:58 Alessandro Mariotti <mariotti@fbk.eu>

	* Makefile.am, configure.ac, src/Makefile.am, src/bmc/bmcDump.c,
	  src/bmc/bmcPkg.c, src/bmc/sbmc/sbmcPkg.c, src/cinit,
	  src/cinit/Makefile.am, src/cinit/cinit.h, src/cinit/cinitCmd.c,
	  src/cinit/cinitData.c, src/cinit/cinitDummyMac.c,
	  src/cinit/cinitInit.c, src/cinit/cinitInt.h,
	  src/cinit/cinitMisc.c, src/cinit/cinitVers.c, src/cinit/sm.h,
	  src/cinit/smCmd.c, src/cinit/smData.c, src/cinit/smDummyMac.c,
	  src/cinit/smInit.c, src/cinit/smInt.h, src/cinit/smMisc.c,
	  src/cinit/smVers.c, src/cmd/cmdFile.c, src/cmd/cmdInt.h,
	  src/cmd/cmdMisc.c, src/enc/bdd/BddEnc.c,
	  src/ltl/ltl2smv/ltl2smvMain.c, src/main.c, src/opt/optCmd.c,
	  src/opt/optInt.h, src/parser/parserUtil.c, src/sm,
	  src/utils/error.c: REFACTORING

	  Renamed package SM to CINIT. All function with Sm prefix have
	  been replaced with prefix CInit

	  All inclusions of sm/ files have been replaced with inclusions
	  of cinit/ files.

	  The system is tagged as follows:

	  before_sm_to_cinit_renaming_20102010
	  after_sm_to_cinit_renaming_20102010

2010-10-20 09:04 Alessandro Mariotti <mariotti@fbk.eu>

	* src/compile/FlatHierarchy.c, src/compile/FlatHierarchy.h,
	  src/fsm/FsmBuilder.c, src/fsm/sexp/SexpFsm.c,
	  src/fsm/sexp/SexpFsm_private.h: BUGFIX

	  Fixed mantis issue #2182 with the solution proposed in the bug
	  report.  Automatic test had been already added in the test/
	  directory.

2010-10-19 14:11 Alessandro Mariotti <mariotti@fbk.eu>

	* test/bug_2182, test/bug_2182/bug.smv, test/bug_2182/dump.smv,
	  test/bug_2182/read.cmd, test/bug_2182/test.sh,
	  test/bug_2182/write.cmd: TESTS\nAdded automatic test fot bug
	  2182\n

2010-10-12 09:13 Marco Pensallorto <pensallorto@fbk.eu>

	* src/trace/exec/BDDPartialTraceExecutor.c,
	  src/trace/exec/SATPartialTraceExecutor.c: BUGFIX

	  Fixed issue #2173. No error message was displayed under certain
	  circumstances in partial trace re-execution.

2010-10-12 09:11 Marco Pensallorto <pensallorto@fbk.eu>

	* test/bug_2173, test/bug_2173/1.smv, test/bug_2173/bug1.cmd,
	  test/bug_2173/bug2.cmd, test/bug_2173/bug3.cmd,
	  test/bug_2173/test.sh, test/bug_2173/trace.xml: TESTING

	  Added test case for issue #2173

2010-10-06 13:23 Alessandro Mariotti <mariotti@fbk.eu>

	* src/parser/psl/pslExpr.c, src/parser/psl/psl_grammar.y: FEATURE

	  Added support for expressions in array access in PSL. Some tests
	  have already been commited. This commit fixes mantis issue 1849

2010-10-06 10:08 Alessandro Mariotti <mariotti@fbk.eu>

	* test/bug_1849/bug.smv, test/bug_1849/bug1.smv,
	  test/bug_1849/bug2.smv, test/bug_1849/bug3.smv,
	  test/bug_1849/test.sh: TESTS

	  Added other automatic tests for the PSL extension of constant
	  expression in array indexes.

2010-10-05 15:32 Alessandro Mariotti <mariotti@fbk.eu>

	* src/compile/type_checking/checkers/CheckerCore.c: REFACTORING

	  Memory usage issue has been fixed: The type checker was using
	  SymbTable_get_define_flatten_body, which is known to use a lot
	  of resources in case of big models (with a lot of defines).

	  now the typechecker descends recursively using both the define
	  "unflattened" body and it's context, avoiding the flattening of
	  the defines.

	  This solves mantis issue 1925.

	  All related problems to this issue were fixed by using the
	  ResolveSymbol class, however, all regression tests have been
	  executed.

2010-10-05 13:22 Alessandro Mariotti <mariotti@fbk.eu>

	* src/compile/PredicateExtractor.c, test/bug_2161,
	  test/bug_2161/bug_count_0.smv, test/bug_2161/bug_count_1.smv,
	  test/bug_2161/test.sh: BUGFIX

	  Fixed bug 2161 that was making NuSMV result in a seg. fault.

	  pred_extract_process_recur returned objects were not correctly
	  handled, and this was causing a bad pointer read.

	  Fix has been double-checked with MR.

2010-10-05 12:14 Alessandro Mariotti <mariotti@fbk.eu>

	* src/mc/mcInvar.c: BUGFIX

	  Solved mantis issue 2145: Wrong results were reported when using
	  cached reachable states without layers information.

	  The issue has been fixed accordingly to mantis note 3940 (MR).

2010-10-01 12:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.5.1 ===


2010-10-01 07:22 Roberto Cavada <cavada@fbk.eu>

	* acinclude.m4, configure.ac, test/run_all.sh: BUG FIX PORTING
	  Ported from trunk.

	  1. Automatic re-configuration when configure.ac or any
	  Makefile.am got changed is back.

	  2. The change allows also to weaken required version of autoconf
	  from 2.60 down to 2.58

2010-09-30 13:54 Roberto Cavada <cavada@fbk.eu>

	* Makefile.am: BUG FIX A file had to be removed to have make
	  distcheck pass.

2010-09-28 11:43 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX - Added macro PRIdPTR - Fixed bug 2134 (tested under
	  windows)

2010-09-28 10:37 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 2134

	  Fixing bug in the use of %zd, which is not portable.  Now we use
	  new macro PRIuPTR instead.

	  This bug fix has to be checked under windows

2010-09-28 10:35 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added new macro PRIuPTR, which defines a string to be
	  used as format when fprinting size_t and addresses as unsigned
	  integers.

	  The macro definition relies on inttypes.h (C99) when available,
	  or it is defined when not available.

	  Use like in:

	  printf("size_t: %" PRIuPTR "\n", (size_t) -1)

	  Note: in cudd we need to print size_t, so I am defining PRIuPTR
	  in cudd as well. The modifications in cudd are marked
	  accordingly.

2010-09-27 14:58 Roberto Cavada <cavada@fbk.eu>

	* TEST FIX

	  Fixed test which was passing in old versions due to issue 002137
	  (neg tests may fail)

2010-09-27 14:57 Roberto Cavada <cavada@fbk.eu>

	* TEST FEATURE Added an optional parameter to shared functions
	  test_file_neg and test_file_cmd_neg.

	  There is an issue (002137) discussing the reasons for this
	  parameter.

2010-09-27 12:14 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 002135 Issue 002135 is about allocation of frozen
	  variables. The code handling for the allocation of frozen vars
	  was wrong. This fix makes it similar to the code for the
	  allocation of IVARs and VARs.

	  Added also an automatic test.

2010-09-24 13:15 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CASE IS ADDED

	  SCALAR node can now be printed with normal print_node function.
	  Useful to print parse tree.

2010-09-24 13:01 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Moved ResolveSymbol* calls to the SymbTable. Now the symbol
	  table exports a new function, SymbTable_resolve_symbol(st, expr,
	  ctx), which returns the internal instance of ResolveSymbol,
	  initialized with the input expression and the input context

2010-09-22 13:00 Roberto Cavada <cavada@fbk.eu>

	* TEST Fixed automatic test for issue 2115

	  (This had to be done when fixing the issue, though)

2010-09-22 12:47 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  now show_vars prints, if printing scalar variables, all values
	  it can up to 80 chars. If some values are missing, a string
	  explains how many values are missing in the printout

2010-09-21 15:37 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Revisions 9670, 9676, and 9689 of file
	  src/trace/exec/SATPartialTraceExecutor.c fixed a typo in a user
	  message (succesfully/successfully)

	  However, this test (which checks the message) was not fixed
	  accordingly.

	  TO ALL: when fixing user messages, also check occurrences of
	  that message in tests.

2010-09-21 15:28 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a test which was no longer working after 0/1 ->
	  F/T

2010-09-21 15:21 Alessandro Mariotti <mariotti@fbk.eu>

	* FEATURE Now defining a new variable using the "set" command, without
	  giving any explicit parameters, sets the value to "1".

	  examples:

	  set foo bar foo = bar

	  set foo foo = 1

2010-09-21 14:44 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed bug2.smv which was no longer readable after fixing
	  of 00916.  Also, bug2 was commented out (no longer tested) in
	  test.sh

2010-09-21 13:54 Alessandro Mariotti <mariotti@fbk.eu>

	* Minor FIX:

	  when setting an invalid value to an option, the system was
	  telling:

	  cannot set value "option_name" to "actual_value" instead of
	  cannot set value "actual_value" to "option_name"

2010-09-21 13:54 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed test which was not respecting the interface, and
	  was clashing with issue 2115 (cmd options specified multiple
	  times leads to error)

2010-09-21 13:53 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed some models which were containing the keyword 'count' as
	  variable name.


	  [AMa] --This line, and those below, will be ignored--

	  M examples/m4/non_selective.m4.smv M examples/smv-dist/pci3p.smv
	  M examples/smv-dist/pci4p.smv M examples/pci/pci.smv M
	  test/examples/test.sh

2010-09-21 13:28 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed combination of options -cpp and -pre "m4...".  The -pre
	  option was obfuscating the -cpp option

2010-09-21 12:37 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added library informations to the NuSMVCore structure. In this
	  way, we can distinguish between tool that links to NuSMV and the
	  NuSMV library itself.

	  - Refactored some memory unsafe code parts after MR code review

2010-09-20 13:07 Roberto Cavada <cavada@fbk.eu>

	* FEATURE 000763 Bison is now required by configure.

2010-09-17 20:49 Marco Roveri <roveri@fbk.eu>

	* - Minor fix (related to issue 2106).

	  - added several #warning to be considered to make the code more
	  robust.

2010-09-17 15:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #00438

	  I re-enabled the destruction of sbmc structures.

2010-09-17 12:11 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #002079 Fixed issue
	  https://essvn.fbk.eu/bugs/view.php?id=2079

	  Checked all instances of Prop_get_type_as_string to search for
	  this bug possibly coming from cut&paste.

2010-09-17 11:55 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #002089

	  Fixed issue 2089 (PredicateNormalizer memoization broken)

2010-09-17 11:22 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #2041

	  Fixed variable allocation made by VarsHandler. Now reuse is
	  preferred when possible.

	  In BddEnc: fixed spurious code, added some verbosity, and some
	  cleanups.

2010-09-15 16:12 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Complete refactoring of the SM package. Now tools do not need to
	  copy the whole SM package, since the new APIs allow tools to
	  register their own informations (e.g. tool name, tool version,
	  email) and their own command line options.

	  The system has been tagged with: before_sm_refactoring_15092010

2010-09-15 14:11 Roberto Cavada <cavada@fbk.eu>

	* NEW TE Added tests for issue 00936 Notice that tests have been
	  fixed wrt: 1. names of variables containing [] 2. 0/1 vs
	  FALSE/TRUE

2010-09-15 12:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Relaxing (commenting out) the usage of noreturn which
	  was used only as an example.

	  We need to solve the problem of having multiple config.h when
	  compiling other tools before.

2010-09-15 09:45 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Added new configuration macro to check if function attribute
	  "noreturn" is supported by the compiler. The macro is called
	  FUNCATTR_NORETURN.

	  error.h contains also some examples about how to use it (see for
	  example declaration of internal_error).

	  Notes: 1. IMPORTANT! Needs autoreconf 2. The macro may have an
	  impact on the html documentation extraction.  3. This is clean
	  way of approacing most of cases reported in bug 002093

2010-09-13 19:15 Marco Roveri <roveri@fbk.eu>

	* Added a warning for RC about statement without effect.

	  @@ -4295,6 +4295,7 @@ /* If no new vars are available, we might
	  think to compact the levels by reordering, and reuse old indices
	  */ lev_min = -1; +#warning [MRRC]: The following code has no
	  effects. Should it be += 1? Or should it be dropped?
	  self->used_indices_frontier + 1; self->used_indices_frontier +=
	  block_size; }

2010-09-13 10:00 Alessandro Mariotti <mariotti@fbk.eu>

	* The class is now ready for use:

	  - Added documentation - Added rc source file name field - Added
	  some missing command line options initialization

2010-09-08 12:30 Alessandro Mariotti <mariotti@fbk.eu>

	* BACKUP COMMIT

	  This is just a backup commit of the new SM package helper file
	  (smData.c), which contains routines for command options
	  registration, init/deinit/reset handlers, banner print, ecc

2010-09-07 15:41 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Replaced all occurrences of CompileFlatten_resolve_name with the
	  new relative class method ResolveSymbol_get_resolved_name (after
	  the proper call of ResolveSymbol_resolve)

2010-09-03 12:07 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Replaced all code blocks where some kind of manual symbol
	  resolution was performed. Now the ResolveSymbol class is used,
	  which provides a standard way for resolving symbols.

	  ASAP all calls of CompileFlatten_resolve_name will be changed
	  with calls of the new class methods.

2010-08-31 12:11 Alessandro Mariotti <mariotti@fbk.eu>

	* Added the ResolveSymbol class, which should provide a simple and
	  standard way for resolving symbols.

	  It now just compile, it is still not used. Soon all the system
	  will use this class.

2010-08-24 08:46 Roberto Cavada <cavada@fbk.eu>

	* OPTIMIZATION Made insertion of nodes policy "proximity" the
	  default, as it proved to be (slightly) better than "simple" (the
	  one which was used before)

2010-08-20 14:27 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX Fixed issue 2029. The return value when a non-existing
	  script file is given is now fixed.

2010-08-18 14:10 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  - Cleaned up RangeRed from dead-core and useless code

	  BUGFIX

	  - Fixed a bug in the RangeRed, which was always resulting in
	  assertion failure when the normal range extraction was disabled

	  TESTS

	  - Moved the simp tests to esmc, and added automatic tests for
	  the write_reduced_model command

2010-08-10 14:34 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added support for minisat-2.2.0

	  The new version is currenlty NOT linked by default (see below
	  how to link it), as tests are still to be run.

	  However, as you see the impact on nusmv is not empty, as
	  polarity modes false and true are not available in
	  2.2.0. However, modes random and user are provided.  The generic
	  interface provided only 'random' and 'not random', and I changed
	  the default 'non random' to be 'user' instead of 'false', which
	  btw I think is better, as it captures what the user intended
	  when adding literals.

	  Tests are going to be run to assure that 2.2.0 can become the
	  default.


	  =================================== How 2.2.0 can be enabled
	  into nusmv ===================================

	  0. make clean nusmv

	  1. run ./clean.sh into Minisat 2. copy minisat-default.in to
	  minisat-default 3. in minisat-default comment out section about
	  previous version of minisat 070721 (4 lines) 4. de-comment the
	  corresponding 4 lines about version 2.2.0 5. save the file
	  6. launch ./build.sh

	  7. re-configure nusmv 8. make nusmv

2010-08-03 15:28 Alessandro Mariotti <mariotti@fbk.eu>

	* Added word variable expression support for toint operator. It
	  still suffers in performances when used within the
	  Predicate[Extractor/Normalizer].

	  Automatic tests have been also added

2010-07-30 13:58 Alessandro Mariotti <mariotti@fbk.eu>

	* COMPILATION ERROR FIX

	  Fixed (strange) compilation error, which was appearing only on
	  my cygwin version. I've removed the include of "opt/opt.h" which
	  was already included by "opt/optInt.h". Removing this include
	  makes NuSMV build on cygwin.

2010-07-28 14:07 Alessandro Mariotti <mariotti@fbk.eu>

	* Added better explaination of the SWCONST and UWCONST operators.
	  Now it is clear which of the 2 parameter is the word size and
	  which one is the value.

2010-07-27 15:31 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Fixed #warning, which was confusing gcc when x-compiling.

	  In particular, in #warning please: 1. Always double-quote the
	  message like in #warning "foo message"

	  2. Do not break mthe message in multi-lines, use only one line.

	  3. In the message, avoid using "!," and other punctuation

	  These are going to be mentioned in the code rules as well.

2010-07-27 08:43 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  - Renamed all matrix define references in array define

	  - Renamed all "symbol type" references in "array variable"

2010-07-23 15:09 Alessandro Mariotti <mariotti@fbk.eu>

	* Found another NULL string printout: When the input file was
	  given to STDIN, and the dumped (using write_*_model), the
	  input_file was dumped into the output model, but found to be
	  NULL. Now "stdin" is printed istead

2010-07-23 14:47 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed a couple of fprintf which wre printing NULL strings. This
	  may not be completely portable.

	  Also added a warning in compileCmd.c

2010-07-23 13:44 Alessandro Mariotti <mariotti@fbk.eu>

	* Added feature to backward compatibility mode
	  (can be enabled in batch mode with -old or set with the
	  backward_compatibility environment variable): The new feature
	  enables backward compatibility over SMV models using "1" as
	  default case condition.

2010-07-22 14:10 Alessandro Mariotti <mariotti@fbk.eu>

	* Added default case condition rewriting when in backward
	  compatibility mode.

	  The user is warned and the "1" condition is replaced with TRUE

2010-07-21 14:43 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES 1. Fixed bug 1934 Added optional overapproximation to
	  the PredicateExtractor, to give up searching when complexity is
	  too high

	  2. Fixed a bug in PredicateExtractor which was not correctly
	  taking into account context. Notice that fixing this issue,
	  causes some tests fail, due to bug 0000916: ambiguity in
	  identifier resolution is not detected

	  The impact on the other files is due to a change in the class
	  PredicateExtractor's constructor which got added a new parameter
	  to control whether overapproximation has to be enabled or not.

2010-07-21 08:52 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1979 bash used instead of sh

2010-07-20 14:22 Andrea Micheli <amicheli@fbk.eu>

	* Fixed issue #1961 (https://essvn.fbk.eu/bugs/view.php?id=1961).

	  write flatten model is now able to work without define
	  expansion. Genaral performance of printing has been improved.

	  This fix required a fix in Compile_resolve_define_chain() and in
	  anonimization.

2010-07-20 14:19 Andrea Micheli <amicheli@fbk.eu>

	* Restored calls to Compile_resolve_define_chains() in place of
	  Compile_FlattenSexpExpandDefines() after realizing that defines
	  expansion is not needed there. This restores the performances of
	  'go_bmc' in huge models.

2010-07-20 11:37 Marco Bozzano <mbozzano@fbk.eu>

	* Added a new parameter to some print functions in BddEnc.c, to
	  allow for custom printing of sym/value pairs. Default printing
	  is the same as before.  Call of such functions have been
	  modified accordingly.

2010-07-19 07:50 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a missing context handling in
	  Compile_resolve_define_chains() function.

2010-07-14 10:32 Andrea Micheli <amicheli@fbk.eu>

	* Fixed issue #1971 (https://essvn.fbk.eu/bugs/view.php?id=1971).

	  Now the function BddEnc_print_set_of_states is able to print
	  empty states when no variables are committed into the encoder.

2010-07-13 11:51 Andrea Micheli <amicheli@fbk.eu>

	* Fixed error reporting in grammars after lexer update in previous
	  commits:

	  yyerror() function is now able to correctly access yytext
	  variable with a configuration-dependent code.

2010-07-09 13:01 Andrea Micheli <amicheli@fbk.eu>

	* * Fixed issue #1967 (https://essvn.fbk.eu/bugs/view.php?id=1967)
	  chacking the use of NUMBER_REAL and NUMBER_FRAC in the whole
	  system

	  * Added a couple of warnings in PSL where it seems to be a
	  problem

	  * Fixed indentation and some EOL spaces

2010-07-08 13:55 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed node_normalize memoization: It now memoizes only locally
	  at each call, and global memoization has been removed (since
	  issue #1960).

	  This fixes mantis issue #1959

2010-07-08 07:23 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 0001963

	  Groups were re-constructed when not required.  As a result,
	  groups were reconstructed twice due to a wrong condition.

2010-07-07 15:00 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Refactored ltl.c in order to be usable also from other
	  algorithms (e.g IMC), which are using custom FMSs for
	  verification. Now ltl.c does not take any global variables, made
	  exception for the global_fsm_builder, the global_trace_manager,
	  and, if not already set within the property, the master scalar
	  and bdd FSMs.

2010-07-07 12:02 Andrea Micheli <amicheli@fbk.eu>

	* Fixed issue #1943 (https://essvn.fbk.eu/bugs/view.php?id=1943)

	  Now the function CompileFlatten_resolve_define_chains() does not
	  expand all the definitions but only removes useless define
	  chains.

	  The uses of this function in the system has been checked and
	  Compile_FlattenSexpExpandDefine() is now used when define
	  expansion was needed.

2010-07-05 13:50 Andrea Micheli <amicheli@fbk.eu>

	* Removed all remaining GOTO tokens from lexers and parsers.  Now
	  the GOTO node is used only in sugar package for internal use.

	  This should close issue #434
	  (https://essvn.fbk.eu/bugs/view.php?id=434)

2010-07-05 11:49 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed ltl mc algorithm. Now original prop fsm is preserved and
	  no side effects result from applying synchronous product with
	  the LTL tableau. The product FSM is stored internally and used
	  only for the purpose of checking.

	  This commit fixes issue #1931

2010-07-02 12:43 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed the repos to make it compilable.

	  IMPORTANT: TESTS ARE REQUESTED

2010-07-02 09:58 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING Renamed WTOINT symbol to CAST_TOINT

	  Also Added a couple of warnings about the COUNT operator

2010-07-02 09:33 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Resolved assertion failure in isCorrectExp().

2010-06-30 13:07 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Done some refactoring in the CUDD package. Cudd_addBddThreshold
	  has now the same semantic as the original CUDD function, and
	  Cudd_addBddBooleanMap has been added, which is a copy of the
	  Cudd_addBddThreshold function, but with the NuSMV semantics.

2010-06-30 12:23 Alessandro Mariotti <mariotti@fbk.eu>

	* Updated the ADD constants 0 and 1, which now are represented
	  with constants FALSE and TRUE. Now the ambiguity between 0/1 and
	  FALSE/TRUE should been have completely removed from the system.

2010-06-29 14:51 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed bug #1948 by altering batch system behavior. build_model/
	  build_boolean_model are always called before property checking.
	  This is consistent with interactive system behavior.

2010-06-29 14:47 Marco Pensallorto <pensallorto@fbk.eu>

	* NEW SERVICE

	  Added a service to BoolEnc, function

	  boolean BoolEnc_is_bool_layer(const char* layer_name)

	  returns true if given layer name corresponds to a bool layer.
	  This is done using the system-wide naming convention that bool
	  layer names all end with the "_bool" prefix.

2010-06-25 15:16 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Now FALSE and TRUE are no longer ambiguos in the system. Boolean
	  are booleans and only TRUE and FALSE can be used as valid
	  boolean values. 0 and 1 can no longer be used with boolean
	  operations. Booleans are no longer allowed in arithmetic
	  expressions.

	  Proper cast operators have been updated in order to deal with
	  the issue (toint and bool).

	  All tests and examples models, the tutorial and the manual have
	  been updated accordingly.

	  The system has been tagged:
	  before_0_1_true_false_disambiguation_25062010
	  after_0_1_true_false_disambiguation_25062010

2010-06-25 09:13 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Factorized support for scalar COI into a new function called
	  Prop_compute_ground_sexp_fsm. This function acts similarly to
	  its bdd and be counterparts and is needed to support COI into
	  MathSAT based algorithms.

2010-06-25 09:06 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 01441

	  Renamed & moved Compile_is_symbol_constant to
	  node/node_is_constant.  Cross-documented SymbTable_is_constant
	  and node_is_constant

	  See https://essvn.fbk.eu/bugs/view.php?id=1441

	  Callers had to be fixed accordingly.  In particular in
	  cegar/structural some public functions do not respect the naming
	  conventions, and one function was clashing badly.

2010-06-24 17:37 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed bug #1937, wrong paramter passed to function
	  Bmc_check_if_model_was_built

2010-06-24 13:23 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  1. Implemented dynamic allocation for the nodes hash
	  2. Implemented a few different ways hash lists are organized.
	  Currently set way is compatible with the old one, and some
	  benchmarks are required in order to choose the best one.

2010-06-24 13:20 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added prototype (not optimized, and not enabled) feature
	  for checking that hashed nodes are not changed by setters like
	  e.g. setcar

	  Repeat: no change occurs, currently the new code is commented
	  out, and kept only for traceability to be followed when the
	  feature will be implemented propertly.

2010-06-24 12:05 Marco Pensallorto <pensallorto@fbk.eu>

	* REFACTORING

	  Refactored code that accesses to the property FSM (using COI if
	  required) into separate functions into Prop. Currently only bdd
	  and be versions have been implemented.

	  Newly added functions are called:

	  Prop_compute_ground_bdd_fsm and Prop_compute_ground_be_fsm

	  Core algorithms have all been refactored to use these new
	  functions.

2010-06-22 16:10 Roberto Cavada <cavada@fbk.eu>

	* DOCS, BUG FIX - updated documentation

	  - fixed a bug, so when reshuffle occurred, and reshuffle
	  required destruction of existing groups, and no construction of
	  other groups were explicitly requested to the encoder, minimal
	  2-size groups were not built for curr-next pair in state
	  variables which were freed by the groups distruction.

2010-06-22 16:09 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Extended automated test generation to support command lines
	  Added coi test cases to check_property.

2010-06-22 16:06 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Function vars_handler_get_first_free_level was not
	  correctly returning a level above from_lev as required in some
	  cases.

2010-06-22 09:24 Roberto Cavada <cavada@fbk.eu>

	* DOCS

	  Completed the documentation of new class VarsHandler. This
	  required also to rename some structures and parameters to make
	  the code and the documentation consistent.

2010-06-18 17:54 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  Parsing idlist from a string did not invoke the main parsing
	  function.

2010-06-18 16:32 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  New class VarsHandler is now used by BddEnc instances when
	  requesting for new variables and creating blocks.

	  WARNING! This code was tested, however it might crash.

	  Refer to tag before_new_vars_handler_20100618 for the previous
	  code

	  Documentation has to be completed.

2010-06-18 16:11 Roberto Cavada <cavada@fbk.eu>

	* NEW CLASS Added new class VarsHandler, to handle dd variables
	  allocation and block management.

	  Still unconnected, to be documented

2010-06-18 15:06 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Changed the format of sexp expression for assignments extraction
	  from traces. Format was not compatible with cegar. No other
	  parts of the system should be affected.

2010-06-18 11:36 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed UWCONST and SWCONST handinling in PredicateNormalizer
	  recursion to support constant expressions. This fixes addresses
	  issue #1918.

2010-06-17 12:55 Marco Pensallorto <pensallorto@fbk.eu>

	* [MAJOR]

	  Removed mathsat dependencies from NuSMV core. The system was
	  tagged before this commit.

	  (a few more files missing from previous commit)

2010-06-17 12:51 Marco Pensallorto <pensallorto@fbk.eu>

	* [MAJOR]

	  Removed mathsat dependencies from NuSMV core. The system was
	  tagged before this commit

	  (missing files from previous commit)

2010-06-17 12:48 Marco Pensallorto <pensallorto@fbk.eu>

	* [MAJOR]

	  Removed mathsat dependencies from NuSMV core. The system was
	  tagged before this commit

2010-06-16 21:29 Viktor Schuppan <schuppan@fbk.eu>

	* BUGFIX

	  (MP please briefly check.)

	  Fix a bug where strlen was forgotten in call to ALLOC. Error
	  occurred when compiled for shared libraries (but on an example
	  in the Ratsy user man). Hence, not adding a test case.

2010-06-15 08:38 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in Slist_sort, ported from Olist_sort

2010-06-15 08:37 Roberto Cavada <cavada@fbk.eu>

	* FEATURE, BUG FIX Added Oiter_make_end, Olist_last, Olist_is_last
	  Modified Olist_move to move to a given iteration point.  Bug fix
	  in Olist_sort

2010-06-15 08:34 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added Siter_make_end

2010-06-15 07:55 Andrea Micheli <amicheli@fbk.eu>

	* REFACTORING

	  Refactored a bit the MasterPrinter to allow for an additional
	  parameter of type void* in the user-defined printing function.

	  This additional parameter is useful for creating reentrant
	  user-defined functions.

	  The printout via user-defined function is currently used by
	  NuSMVAPI only.

2010-06-14 09:45 Andrea Micheli <amicheli@fbk.eu>

	* Fixed issue #1911 (https://essvn.fbk.eu/bugs/view.php?id=1911).

	  The type checker is now able to deal with resize() correctly. If
	  an unresolvable expression is provided as new size the result is
	  undefined identifier '...' error, while if the expression is not
	  constant the result is: Expected constant expression in
	  'resize(...)'.

2010-06-14 08:51 Andrea Micheli <amicheli@fbk.eu>

	* Fixed issue #1907 (https://essvn.fbk.eu/bugs/view.php?id=1907)
	  adding context to Compile_resolve_number invocations where
	  needed.

	  In CounterIdentifier.c and pslNode.c I placed a warning marked
	  with [AMi] since no context is available and
	  Compile_resolve_number is invoked with no context.

2010-06-11 12:11 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Added method 'sort' (efficient in-place sort) to both Slist and
	  Olist classes.

2010-06-11 07:02 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed issue #1903 (https://essvn.fbk.eu/bugs/view.php?id=1903)

	  * All the functions involving 'symbol_type' misleading name have
	  been renamed using the new name 'variable_array'.

	  * All the functions involving 'mdefine' or 'matrix_define'
	  misleading name have been renamed using the new name
	  'array_define'.

	  * In the modified files EOL whitespaces and tabs have been
	  removed.

2010-06-04 11:29 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Replaced some occurrences of type checking, used to check
	  whether a symbol is booleanizable or not, with a call to
	  Compile_is_expr_booleanizable.

2010-06-04 09:51 Andrea Micheli <amicheli@fbk.eu>

	* Added function SymbType_sprint that returns a string
	  representation of a SymbType. This function behaves like
	  sprint_node.

	  The printing code of SymbType has been factorized to avoid code
	  duplication: a new 'print info' structure has been added in
	  SymbType.c to handle both file and string printout.

2010-06-03 08:12 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING

	  Moved Expr_is_booleanizable to compileBEval, and renamed
	  accordingly to Compile_is_expr_booleanizable

2010-06-01 15:10 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed the MasterNormalizer deinitialization, as done for master
	  printers

2010-06-01 14:47 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Added missing cases to the normalizers

2010-05-27 13:15 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  On reset, the default trace plugin internal field was not
	  alligned with the environment one. Now the internal value is
	  taken from the global options

	  This fixes bug 1877

2010-05-27 12:42 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 1850. Now the HRC structure is cleaned up before
	  compiling the model, in order to avoid assertions.

	  Unfortunately, i cannot reproduce it with an automatic test

2010-05-27 11:33 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  replaced the buggy SymbTable_resolve_define_chain fun call with
	  CompileFlatten_resolve_define_chains

	  SymbTable_resolve_define_chain function has also been removed
	  from the system

	  This fixes bug 1881

2010-05-26 15:17 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed usage option for the read_model command.

	  When a model was already built, read_model -h was not showing
	  the usage.

	  Other bugs and memory leaks have been fixed in the command:

	  - Specifying "-i model.smv -h" was updating the "input_model"
	  env variable

	  - Specifying "-i model.smv" twice was updating the "input_model"
	  env variable and was not showing any error.

	  This fixes mantis issue 1701

2010-05-26 12:25 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 1830. The assignment hash in the FlatHierarchy was
	  copied using copy_assoc, without taking in care that the values
	  stored in the hash were created using new_node, and modifying
	  one of the two hashes had unwanted side-effects on the other
	  one.

	  Now hash values are copied using new_node.

2010-05-24 11:15 Alessandro Mariotti <mariotti@fbk.eu>

	* - Fixed bugs in the bmc[inc] invar algorithm options. Not all
	  valid values were accepted

	  - Added test function + internal command (deactivated by
	  default) for generating tests for the set and unset commands.

2010-05-24 08:46 Alessandro Mariotti <mariotti@fbk.eu>

	* Moved BMC options registration from the OPT to the BMC package.

	  BMC options are still registered only if a SAT solver is
	  available

	  The system has been tagged:

	  before_bmc_opt_to_bmc_pkg_24052010
	  after_bmc_opt_to_bmc_pkg_24052010

2010-05-21 11:54 Andrea Micheli <amicheli@fbk.eu>

	* Fixed issue #1765 (https://essvn.fbk.eu/bugs/view.php?id=1765)
	  removing the #undef NDEBUG directive which prevented from
	  optimized compilation.

2010-05-20 11:59 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed bug #1841 in TraceXmlDumper. Translation of illegal
	  characters into xml entities must by applied only when dumping
	  xml tags, not text nodes.

2010-05-20 09:53 Marco Pensallorto <pensallorto@fbk.eu>

	* REFACTORING

	  A bit of cleanup on default trace plugin selection code.
	  Removed an unnecessary hack that was to be removed

2010-05-19 14:30 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  StringConvertToDynOrderType was not dealing with reorder method
	  "same".

	  Now "same" can be used as reordering method

2010-05-19 14:19 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed "set default_trace_plugin" which was not behaving
	  correctly

2010-05-19 14:13 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Last commit introduced a regression in bmc_pick_state -s

2010-05-19 13:56 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  1. Fixed label checking function (TraceManager_is_label_valid),
	  in order not to raise assertions / internal errors when an
	  invalid label is given.

	  2. Updated documentation of TraceManager_is_label_valid.

	  3. Changed an error message in goto_state to make it uniform
	  with bmc_pick_state -s.

	  This commit fixes issue #1875

2010-05-18 08:34 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #ifdef was used instead of #if.

	  WARNING! When using #ifdef, think&check whether #if has to be
	  used instead.



2010-05-17 09:53 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIX TRANSFER

	  A test script fix is copied from release 2.5.0 version to the
	  trunk.

2010-05-17 15:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.5.0 ===


2010-05-17 14:16 Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileFlatten.c, src/parser/grammar.y.2.50,
	  src/sm/smVers.c: CLEANUP Removed a few warnings which were not
	  supposed to exist in branch 250.

2010-05-14 17:59 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* src/compile/PredicateExtractor.c,
	  src/compile/PredicateNormaliser.c, src/compile/compileBEval.c,
	  src/compile/compileCheck.c, src/compile/compileCone.c,
	  src/compile/compileFlatten.c, src/compile/compileWrite.c,
	  src/compile/symb_table/SymbCache.c,
	  src/compile/type_checking/checkers/CheckerCore.c,
	  src/enc/bdd/BddEnc.c, src/fsm/sexp/SexpFsm.c,
	  src/mc/mcExplain.c, src/parser/grammar.y.2.50,
	  src/parser/ord/ord_grammar.y, src/parser/ord/ord_input.l,
	  src/utils/error.c, src/utils/error.h: TRANSFERING CHANGED FROM
	  TRUNK commit 9504

	  ------------------ BUG FIX + REFACTORING

	  Bugs related to arrays and booleanization/flattening/outputting
	  FSM/coi are fixed.  bug 0001854 is fixed.

2010-05-14 17:13 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* test/bug1010/test.sh, test/bug_1100/bug.smv,
	  test/bug_1100/bug_0.smv, test/bug_1100/bug_1.smv,
	  test/bug_1100/test.sh, test/matrix-define/ex1.smv,
	  test/matrix-define/ex14.smv, test/matrix-define/ex24.smv,
	  test/matrix-define/ex25.smv, test/matrix-define/ex26.smv,
	  test/matrix-define/ex27.smv, test/matrix-define/ex28.smv,
	  test/matrix-define/ex29.smv, test/matrix-define/ex30.smv,
	  test/matrix-define/ex31.smv, test/matrix-define/output.cmd,
	  test/matrix-define/read.cmd, test/matrix-define/test.sh: NEW BUG
	  TESTS and TEST FIXES are transfered from the trunk.

2010-05-14 15:14 Marco Pensallorto <pensallorto@fbk.eu>

	* doc/user-man/cmd/check_invar_bmc_inc.tex,
	  doc/user-man/cmd/check_ltlspec.tex,
	  doc/user-man/cmd/check_ltlspec_bmc.tex,
	  doc/user-man/cmd/check_ltlspec_bmc_inc.tex,
	  doc/user-man/cmd/check_ltlspec_bmc_onepb.tex,
	  doc/user-man/cmd/check_ltlspec_sbmc.tex,
	  doc/user-man/cmd/check_ltlspec_sbmc_inc.tex,
	  doc/user-man/cmd/gen_invar_bmc.tex,
	  doc/user-man/cmd/gen_ltlspec_bmc.tex,
	  doc/user-man/cmd/gen_ltlspec_bmc_onepb.tex,
	  doc/user-man/cmd/gen_ltlspec_sbmc.tex: DOCUMENTATION

	  Review user manual (ltl bmc check/gen commands)

2010-05-14 14:39 Marco Pensallorto <pensallorto@fbk.eu>

	* src/trace/exec/bddExec.c, src/trace/exec/satExec.c,
	  src/trace/exec/traceExec.c: BUG FIX

	  ported fix from trunk to issue #1869

2010-05-14 08:00 Roberto Cavada <cavada@fbk.eu>

	* src/bmc/bmcSimulate.c: BUG FIX 1866 Ported from trunk

2010-05-13 14:50 Viktor Schuppan <schuppan@fbk.eu>

	* src/sm/sm.h, src/sm/smMain.c, src/sm/smMisc.c, src/sm/smVers.c:
	  VARIOUS

	  Forgot to carry over yesterday.

2010-05-13 13:25 Alessandro Mariotti <mariotti@fbk.eu>

	* src/opt/OptsHandler.c, src/opt/optCmd.c: BUGFIX porting from
	  trunk

2010-05-13 13:05 Roberto Cavada <cavada@fbk.eu>

	* test/regression/compare_result.py: BUG FIX Ported from trunk

2010-05-13 11:22 Marco Pensallorto <pensallorto@fbk.eu>

	* src/trace/TraceOpt.c: BUGFIX

	  Ported fix for issue #1857 from trunk. Double-checked by RC.

2010-05-12 17:03 Roberto Cavada <cavada@fbk.eu>

	* test/regression/compare_result.py: BUG FIX Ported from trunk

2010-05-12 14:08 Marco Pensallorto <pensallorto@fbk.eu>

	* src/trace/Trace_private.c: BUGFIX

	  Ported bug fix for #1860 from trunk. Array Defines must _not_ be
	  included in the trace language.

2010-05-12 08:44 Roberto Cavada <cavada@fbk.eu>

	* src/bmc/sbmc/sbmcStructs.c, src/compile/compileStruct.c,
	  src/compile/symb_table/SymbLayer.c,
	  src/compile/symb_table/symb_table.c,
	  src/compile/type_checking/checkers/checkersInt.c,
	  src/enc/utils/AddArray.c, src/fsm/bdd/bddMisc.c,
	  src/hrc/hrcWrite.c, src/parser/psl/pslConv.c,
	  src/rbc/rbcCnfCompact.c, src/rbc/rbcCnfSimple.c,
	  src/sat/satUtils.c, src/sat/solvers/SatMinisat.c,
	  src/sat/solvers/SatZchaff.c, src/set/set.h,
	  src/trace/exec/bddExec.c: DOCS Fixed documentation in code

2010-05-12 08:19 Marco Pensallorto <pensallorto@fbk.eu>

	* src/bmc/sbmc/sbmcCmd.c: BUGFIX

	  Ported usage message fix from trunk for command
	  check_ltlspec_sbmc_inc.

2010-05-12 08:17 Marco Pensallorto <pensallorto@fbk.eu>

	* src/trace/Trace_private.c: BUGFIX

	  Ported bugfix from trunk. Trace_copy loop stopped one iteration
	  too early.

2010-05-12 08:14 Marco Pensallorto <pensallorto@fbk.eu>

	* src/trace/traceCmd.c: BUGFIX

	  Ported a bugfix from trunk. A warning was erroneously printed
	  out when using negative indexes with show_traces command.

2010-05-11 16:03 Roberto Cavada <cavada@fbk.eu>

	* NEWS, doc/user-man/cmd/write_flat_model_udg.tex,
	  src/compile/compileCmd.c, src/compile/compileWriteUdg.c: CLEANUP
	  Removed command write_flat_model_udg which seems to be too
	  experimental for entering the release.

2010-05-10 14:50 Alessandro Mariotti <mariotti@fbk.eu>

	* src/bmc/bmcCmd.c, src/bmc/sbmc/sbmcCmd.c, src/cmd/cmdMisc.c,
	  src/compile/compileCmd.c, src/fsm/bdd/bddCmd.c, src/mc/mcCmd.c,
	  src/prop/propCmd.c, src/simulate/simulateCmd.c,
	  src/trace/traceCmd.c: Ported from trunk all missing / outdated
	  commands help

2010-05-10 11:22 Alessandro Mariotti <mariotti@fbk.eu>

	* doc/user-man/cmd/check_invar_gr.tex,
	  doc/user-man/cmd/check_ltlspec_simpl.tex,
	  doc/user-man/cmd/compute_reachable_gr.tex,
	  doc/user-man/cmd/hrc_counter_acceleration.tex,
	  doc/user-man/cmd/set_default_plugin.tex,
	  doc/user-man/cmd/write_pred_clusters_model.tex,
	  doc/user-man/cmd/write_reduced_model.tex,
	  doc/user-man/cmd/write_simplified_model.tex,
	  doc/user-man/inter.tex: Updated user manual: removed non-core
	  commands description

2010-05-08 13:10 Marco Pensallorto <pensallorto@fbk.eu>

	* src/bmc/bmcCmd.c, src/cmd/cmdMisc.c, src/compile/compileCmd.c,
	  src/enc/encCmd.c, src/fsm/bdd/bddCmd.c, src/hrc/hrcCmd.c,
	  src/prop/propCmd.c: DOCUMENTATION Ported fixed documentation for
	  commands to 2.5.0 branch. Code untouched

2010-05-08 10:11 Roberto Cavada <cavada@fbk.eu>

	* nusmv-2.pc.in: BUG FIX Ported from trunk

2010-05-07 17:49 Roberto Cavada <cavada@fbk.eu>

	* src/be/beRbcManager.c, src/cmd/cmdCmd.c, src/enc/bdd/BddEnc.c,
	  src/enc/bdd/BddEnc_private.h, src/enc/be/BeEnc.c,
	  src/enc/bool/BoolEnc.c, src/enc/enc.c, src/enc/operators.c,
	  src/ltl/ltl.c, src/ltl/ltl2smv/ltl2smv.c, src/ltl/ltlRewrite.c,
	  src/mc/mcCmd.c, src/mc/mcExplain.c, src/mc/mcInvar.c,
	  src/mc/mcLE.c, src/mc/mcMc.c, src/mc/mcTrace.c,
	  src/opt/optCmd.c, src/parser/grammar.y.3.50,
	  src/parser/parserUtil.c, src/parser/psl/pslExpr.c,
	  src/prop/PropDb.c, src/prop/propCmd.c,
	  src/sat/solvers/SatMinisat.c, src/sat/solvers/SatZchaff.c,
	  src/set/setSet.c, src/simulate/simulateCmd.c,
	  src/trace/pkg_trace.c, src/trace/traceEval.c: CLEANUP Removed a
	  first bunch of #warnings

2010-05-07 17:06 Roberto Cavada <cavada@fbk.eu>

	* DOCS Removed packages simp and imc from the programmer manual
	  (they were presented empty anyway, as they have been moved to
	  esmc)

2010-05-07 16:58 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG TEST UPDATE

	  From now on a specification cannot be violated in a state
	  (instead of a transition) if it contains input variables.  See
	  issue 940 for details.

2010-05-07 16:56 Roberto Cavada <cavada@fbk.eu>

	* PACKAGING - fixed distribution of grammar parts - fixed a bug in
	  distribution of compass - changed the package name to 2.5.devel

2010-05-07 16:28 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP

	  A general cleanup to the sources. Removed some unused varaibles,
	  fixed some bugs as some vars could be accessed even if not
	  initialized. Silenced some warnings issued by the compiler.

	  All regression tests pass, the commit is safe.

2010-05-07 16:26 Roberto Cavada <cavada@fbk.eu>

	* COMPILER OPTIONS

	  Forced -fno-strict-aliasing to prevent possible serious crashes
	  due to the compiler's optimizations.

2010-05-07 16:24 Roberto Cavada <cavada@fbk.eu>

	* CRITICAL BUG FIX

	  Fixed a serious problem in Trace_private. To developers: DOUBLE
	  CHECK your fixes, and TEST them even if you think they are
	  trivial. This is true especially in times like now when release
	  is so close, and truvial but critical bugs can have dramatic
	  conseguences for the quality of the release.

2010-05-07 16:21 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX gen_invar_bmc and check_invar_bmc were segfaults when
	  dumping the problem.  The bug was introduced in rev 7289

2010-05-07 11:46 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX Fixed documentation and support for -P option

2010-05-07 11:45 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX Fixed a bug in trace_concat, found by RC during code
	  inspection

2010-05-07 11:25 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* TEST EXAMPLE FIX

	  The fix is done wrt changes in the syntax of arrays.

	  1. next(a[next(i)]) changed to next(a)[next(i)] 2. DEFINE a[0]
	  := exp1; a[1] := exp2; changed to DEFINE a := [exp1, exp2];

2010-05-07 09:27 Roberto Cavada <cavada@fbk.eu>

	* REFACTING Another action for making splitting the structure of
	  the parser/lexer.

	  The three parts of the grammar/lexer are now explicitly named
	  (input.l.[123]). Than ach part can be split into 100 ordered
	  parts, named from 00 to 99.

2010-05-07 09:08 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Restored correct behavhior of env variable
	  counter_examples_show_re.A trigger has been added to the option
	  setter to validate the reg_exp.  Passed no-regression and
	  specific tests.

2010-05-07 07:57 Roberto Cavada <cavada@fbk.eu>

	* RENAMING Renaming parser/lexer filenames to make it easier to
	  give 'em an ordering when composing the grammar library.

2010-05-06 14:55 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug in integer constants lexing. As of NuSMV 2.5
	  integers are only suppoerted within the range -2^31+1 .. 2^31-1

	  Fix has been applied to PSL lexer as well.

2010-05-06 12:23 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed bug #1836. Input variables must not be taken into account
	  at the last time when building SBMC models.

2010-05-06 12:18 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed output of the help command. If a command is too long to
	  share a line with another command (within the 80 characters), a
	  newline is added

2010-05-06 08:08 Marco Pensallorto <pensallorto@fbk.eu>

	* PACKAGING

	  Aded changelog.pl script, which builds a nicely formatted,
	  customizable ChangeLog file out of the svn log command. Depends
	  on: svn2cl, perl, emacs.

2010-05-05 16:55 Roberto Cavada <cavada@fbk.eu>

	* BUILDING Split sm package from the nusmvlib.  Created a new core
	  library for nusmv, not containing sm and grammar lib

2010-05-05 14:49 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed trivial bug (code was supposed to be removed, and
	  it had not)

2010-05-05 14:04 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING Removed HAVE_SA from sm

	  To get SA, now you have to build esmc

2010-05-05 14:01 Marco Pensallorto <pensallorto@fbk.eu>

	* DOCUMENTATION

	  Updated user manual entry on if-then-else expressions. This
	  fixes issue #1097.

2010-05-05 09:33 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING Third step for moving simp stuff away from the core.

	  WARNING: the system may be broken.

2010-05-05 09:23 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING Again in the process of moving simp-stuff away of
	  the core.

	  WARNING: may make the system not compilable.

2010-05-05 09:15 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING In the process of moving away some deps from simp in
	  compile.

	  WARNING: this commit is partial, it may break the compilation
	  process

2010-05-04 13:39 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING 1. Split the SMV gramamr into 3 pieces.  2. Updated
	  parser/Makefile to reconstruct input.l and grammar.y out of the
	  resp. pieces.  3. The smv grammar is now out of the nusmv core
	  library.

2010-05-04 12:06 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1093

	  Fixed checking of next input vars which was missing.

	  https://essvn.fbk.eu/bugs/view.php?id=1093

	  Added new function Compile_check_input_next

2010-05-03 18:15 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW VAR

	  The description of var rbc_rbc2cnf_algorithm is added to the
	  manual.

2010-05-03 16:59 Roberto Cavada <cavada@fbk.eu>

	* NEW SCRIPT Draft (requires improvements, but it is ok for the
	  release)

	  Dumps reports out of results coming from run_all.sh, previously
	  pre-processed by process_result.py

	  This useful to compare versions (e.g. before committing a
	  modification).

	  Example: 1. run "test/run_all.sh -r > out1" to test version 1
	  2. run "test/regression/process_result.py -o out1_p test/out1"
	  3. run "test/run_all.sh -r > out2" to test version 2 4. run
	  "test/regression/process_result.py -o out2_p test/out2" 5. run
	  "test/regression/compare_result.py [-v] out1_p out2_p" to get a
	  filtered report with the major differences among the specified
	  versions.

	  Report will pinpoint regressions and improvements, with respect
	  to PASS/FAIL or unexpected results, and good/bad changes in
	  resource consumption (memory/time).

2010-05-03 16:19 Sergio Mover <mover@fbk.eu>

	* BUGFIX: constraints for time variable when using "timed"
	  compilation mode were missing.

	  Details The missing constraints were: INIT time = 0; TRANS
	  (EVENT = timed -> (next(time) = time + delta))

2010-05-03 15:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX In booleanizer tests.  Fixed wrong output format

2010-05-03 13:01 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Review of the last fix made for 1335

2010-05-03 12:46 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a minor bug introduces with last commit. Failure warnings
	  are explicitly turned into Expr_false() nodes in the booleanizer
	  to avoid segfaults. This is related to issue #1630.

2010-05-03 12:19 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed bug #1630. A temporarily fix has been made, which consists
	  in local relaxation of range detection error. In the offending
	  pattern, error has been demoted to warning.

2010-05-03 12:14 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  * Turned an assertion into internal error when SYMBOL_INVALID is
	  encountered. This is due to an issue in symbol table not
	  performing defines expansion properly in some cases. This issue
	  has been postponed to 2.5.1

	  * Fixed a small bug when reporting incomplete traces.

2010-05-03 08:49 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug in documentation extraction script that caused make
	  distcheck to fail. This commit fixes issue #1826.

2010-04-30 17:16 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Switched to cudd-2.4.1.1.  All tests passed, patched
	  cudd is safe for using (64 bit porting for windows)

	  WARNING!! NEEDS AUTORECONF + CONFIGURE

	  Here the short report of testing.

	  250-cudd-2411 : Num times: 7056 250-cudd-2411 : N/A times: 0
	  250-cudd-2411 : Min time: 0.0 250-cudd-2411 : Max time: 38.35
	  250-cudd-2411 : Avg time: 0.0346570294785 250-cudd-2411 : Num
	  mem: 7056 250-cudd-2411 : N/A mem: 0 250-cudd-2411 : Min mem:
	  0.0 250-cudd-2411 : Max mem: 186.6 250-cudd-2411 : Avg mem:
	  0.998908730159 250-cudd-2411 : Num PASS : 5657 250-cudd-2411 :
	  Num FAIL : 1398 250-cudd-2411 : Num OTHER: 1 250-cudd-2411 :
	  Status Ok: 7052 250-cudd-2411 : Status ko: 4 250-cudd-2411 :
	  signal(6) : 4
	  ----------------------------------------------------------------------
	  250-cudd-2410 : Num times: 7056 250-cudd-2410 : N/A times: 0
	  250-cudd-2410 : Min time: 0.0 250-cudd-2410 : Max time: 38.16
	  250-cudd-2410 : Avg time: 0.0345946712018 250-cudd-2410 : Num
	  mem: 7056 250-cudd-2410 : N/A mem: 0 250-cudd-2410 : Min mem:
	  0.0 250-cudd-2410 : Max mem: 186.6 250-cudd-2410 : Avg mem:
	  0.990986394558 250-cudd-2410 : Num PASS : 5657 250-cudd-2410 :
	  Num FAIL : 1398 250-cudd-2410 : Num OTHER: 1 250-cudd-2410 :
	  Status Ok: 7052 250-cudd-2410 : Status ko: 4 250-cudd-2410 :
	  signal(6) : 4

2010-04-30 17:06 Marco Pensallorto <pensallorto@fbk.eu>

	* [DOCUMENTATION]

	  Added/revised docs in the user manual for resize, uwconst,
	  swconst Fixed if-then-else

2010-04-30 16:44 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIX

	  Tests are fixed wrt last changes of resize/wconst operator
	  order.  New test is added.

2010-04-30 16:43 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  MemoryLeak.

2010-04-30 16:11 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed issue #1795. Programmer's manual generation has been
	  restored.  Requires autoreconf.

2010-04-30 16:03 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* ONE MORE BUG FIX 497

	  I missed booleanizer who is sensitive to boolean types in
	  assignments.

2010-04-30 15:03 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Addded option -v to verbosely print info when parsing
	  output generated by run_all.sh, to help fix problems in tests.

2010-04-30 14:36 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE + BUG FIX 497

	  From now on assignment has 2 more allowed types: bool * int bool
	  * int set

	  I fixed type checker, and predication extraction/normalization.

	  WARNING: if you are aware of code dealing with EQDEF and
	  sensitive to types (bool*int) and (bool*int-set) then tell me or
	  fix the code yourself!

2010-04-30 14:30 Roberto Cavada <cavada@fbk.eu>

	* TE Fixed tests to output standard output which
	  regression/process_result.py can process safely

2010-04-30 14:29 Roberto Cavada <cavada@fbk.eu>

	* TE Fixed non standard script for testing.

	  RULE!! All nusmv scripts in tests have to set
	  on_failure_script_quits

2010-04-30 14:27 Roberto Cavada <cavada@fbk.eu>

	* ISSUE 1818 When processes are found, a deprecation warning is
	  issued.

	  https://essvn.fbk.eu/bugs/view.php?id=1818

2010-04-30 13:16 Roberto Cavada <cavada@fbk.eu>

	* DOC About issue 280, documenting that running and
	  _process_selector_ are delared only when more than one process
	  is defined.

2010-04-30 12:42 Alessandro Mariotti <mariotti@fbk.eu>

	* ADDED FLEX 2.5.31 WORKAROUND.  This fixes mantis issue 624.  The
	  following code has been added to each .l file:

	  /* The below code is only meaningful for flex version 2.5.31
	  which is buggy since it does not define the yy_prev_more_offset
	  static variable */ #if defined YY_FLEX_SUBMINOR_VERSION && \
	  defined YY_FLEX_MAJOR_VERSION && \ defined YY_FLEX_MINOR_VERSION
	  #if YY_FLEX_SUBMINOR_VERSION == 31 && \ YY_FLEX_MINOR_VERSION ==
	  5 && \ YY_FLEX_MAJOR_VERSION == 2 static int yy_prev_more_offset
	  = 0; #endif #endif

2010-04-30 09:50 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a typo that caused induction failed traces to be
	  2-transitions long instead of 1 as it supposed to be.

2010-04-30 09:09 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug that caused NuSMV to hang if -source (or -load)
	  option was used on the command line with a invalid cmd file.

	  This commit fixes issue #1815

2010-04-29 20:01 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Missed one occurrence of w.

2010-04-29 17:02 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* TEST SCRIPT FIX

	  1. use_coi_size_sorting is unset in tests as the order of
	  properties is important.  2. option -e is added to "echo" in
	  some places.

2010-04-29 17:00 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* OUTPUT MESSAGE CHANGE

	  1.Slightly chached the header before properties output by
	  show_property.  2. Now if a property does not have a name then
	  N/A is output (instead of nothing).

2010-04-29 16:58 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* WARNING IS ADDED

	  In description TraceManager_register_trace returns the
	  registered trace number.  Actually it returns the previous trace
	  number.

	  It is necessary to check how the returned value is used and then
	  fix the description or the returned value.

2010-04-29 15:53 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIXES]

	  This commit fixes issues #1205, #1804, #1787. Sorry for the big
	  commit, this is due to lots of overlapping among issues in the
	  rush hours before release.

2010-04-29 15:09 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Variable name was not printed in error_assign_input_var if the
	  assignment was a normal assignment

2010-04-29 14:38 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  In the GR(1) algorithm compute set of winning states also if one
	  players init is zero when GAME_INIT_TERM_NONE is used.

	  For the other cases return overapproxWinStates rather than zero
	  as the set of winning states (i.e., guarantee an
	  overapproximation).

2010-04-29 12:58 Alessandro Mariotti <mariotti@fbk.eu>

	* REFACTORING: Moved simp_symb_table_copy into the SymbTable
	  class.  Now the method is called SymbTable

	  BUGFIX: Fixed bug 1808, NULL was passed to compile_resolve_name
	  in the SymbTable_copy function. Now a symbol table is passed
	  correctly

2010-04-29 05:15 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug that caused failures when loading a trace containing
	  non-determinism. This commit fixes issue #1802.

2010-04-28 19:46 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTORYING + BUG FIX 1807

	  Flattening of swcont and uwconst have been refactored.  Several
	  bugs were fixed there.

2010-04-28 19:42 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CONSTRUCTOR

	  WordNumber_from_signed_integer is added, which is the only way
	  to create WordNumber from signed negative value.

	  NOTE: Construction of WordNumber from parser tree does not
	  require this function as all numbers are positive there (with
	  potential unary minus parsed separately).  But for negative word
	  constunts internally created from int this function is a need.

2010-04-28 16:23 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - Nexted next are now also checked over defines and M-defines
	  that are not used in the model - Compile_check_next now uses a
	  better memoization system.

2010-04-28 15:28 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX -> When unsetting forward_search option, also
	  reachable_states is disabled

	  BUGFIX -> When only ZCHAFF Sat Solver is available, the default
	  value for the sat_solver option is now zchaff instead of "Sim".

	  COSMETICS -> Removed an useless whitespace in printing of
	  possible enumerative values for enum options.

2010-04-28 15:19 Alessandro Mariotti <mariotti@fbk.eu>

	* PARTIAL BUGFIX

	  BddEnc_print_bdd now prints FALSE when a false BDD is passed.
	  previously NuSMV was resulting in seg.fault.

	  This is a partial fix to mantis issue 406.

2010-04-28 10:14 Marco Pensallorto <pensallorto@fbk.eu>

	* [MAINTENANCE]

	  Removed a few unused files from the repository and adjusted
	  includes and Makefiles accordingly

2010-04-28 09:51 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1151 Fixed boolean sexp fsm construction wrt bug 1151
	  (empty language case) Unfortunately, this does not fix problems
	  with empty TRANS in bmc yet.  (Still investigating)

2010-04-28 09:32 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1151 This fix fixes partially bug 1151 There are issues
	  with empty TRANS yet

2010-04-28 02:13 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  In separate bdd strategy printing mode forgot to print INIT,
	  TRANS for the second time.

2010-04-28 02:06 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Wrongly switched operators from NuSMV V to Wring R.

2010-04-27 20:05 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* EXAMPLE FIX

	  1. Paramters padded identifiers to be declared. This is not
	  allowed any more.  2. "var + 1 mod N" is changed to "(var + 1)
	  mod N"

2010-04-27 18:19 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* ERROR MESSAGE FIX

	  1. Error message for an identifier declared more than once is
	  now: "multiple declaration of identifier " name

	  2. All vars,defines,parameters output the same message when
	  identifier is declared more than once.

	  3. Line info was incorrect in above messages.

	  4. Error message for a var assigned more than once is fixed.

2010-04-27 15:46 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed mantis issue 1796: Trace printing plugin indexes to be
	  used for simulation trace printing where swapped when calling
	  the trace printer

2010-04-27 15:20 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Removed typo error that was not making NuSMV compiling under
	  certain conditions

2010-04-27 14:43 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed issue 1578: User was not warned about empty fair states.
	  Now the user is warned if verbosity is greater than 0

2010-04-27 13:41 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Added the ability to make the inference in constant - parameter
	  propagation.

2010-04-27 12:39 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #203 Handling branches in witness generation.  Patch
	  provided by


	  https://essvn.fbk.eu/bugs/view.php?id=203

2010-04-26 18:32 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR BUG FIX

	  Simplification was done in a wrong place.

2010-04-26 15:00 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX/MINOR

	  Use goto-based handling of returns in sf07 command uniformly and
	  fix mem leaks on the way.

2010-04-26 12:00 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix bug 1790 as suggested there: add special handling for BIT.

2010-04-26 10:03 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX 1789

2010-04-26 08:59 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug in EXTEND operator in expr2bexpr_recur.  (confirmed
	  by MR)

	  Removed a warning.

2010-04-26 00:43 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Rm backslash in ids also in appendix.

2010-04-23 16:42 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Added the ability to propagate delta_t set clause valuation.
	  Still incomplete.

2010-04-23 15:01 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX In test runners.

2010-04-23 13:25 Alessandro Mariotti <mariotti@fbk.eu>

	* First commit for tests standardization.

	  Some more problematic tests are still non standard. This is a
	  temporary commit for backup.

	  However, most tests now use the new support/test_fun.sh script
	  that contains all functions needed for test scripts.

	  Please have a look to support/example_test.sh for an example of
	  usage.  All functions in test_fun.sh are documented, if in
	  trouble with parameters, have a look there

2010-04-23 12:44 Alessandro Mariotti <mariotti@fbk.eu>

	* --- NEW TEST COMMON FILES ---

	  From now on, please use this files for test scripts.  For an
	  example, please see example_test.sh

	  test_fun.sh contains all common functions needed for testing.

	  ASAP the commit of all test.sh script modified accordingly

2010-04-23 12:36 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed issue #1771. TraceXML loader implementation has been
	  upgraded in order to fully support -s option as documented in
	  the user manual. Basically, when -s is used, misplaced
	  assignments may occur in the trace, and a warning is reported to
	  the user.

	  In addition, where necessary, time shifting is applied to the
	  offending assignment in order to adapt the trace to the model.

	  For further details, see the user manual description of the -s
	  option in the read_trace command.

2010-04-23 12:27 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Fixed testcase for trace execution to newer semantic of -s
	  option in command read_trace.

2010-04-22 15:57 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed issue 1563. Now -source is supported at the command line.
	  -load is still supported but deprecated. Documentation update in
	  progress.

2010-04-22 15:56 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed issue #1254. Now constant expressions are allowed in word
	  extend.

2010-04-22 15:53 Marco Pensallorto <pensallorto@fbk.eu>

	* [MAINTENANCE]

	  * Removed 'implicit declaration' warnings for the core.  Thanks
	  to VS for reporting on this.

	  * Fixed missing documentation of a couple of package functions
	  in mc

2010-04-22 15:33 Roberto Cavada <cavada@fbk.eu>

	* TE

	  * Made test_all_remote submit jobs asyncronously to the clusters
	  (to minimize the connections to the frontend, as they are
	  limited)

	  * Added new script process_result.py which takes the result
	  coming from run_all.sh and transform it to this sample format:

	  Name Revision Num Result Status Space Time

	  bug_1542 8960 0 FAIL segmentation fault 0.0 0.00 bug_155 8960 0
	  PASS ok 153.1 2.19 bug_155 8960 1 PASS ok 153.6 2.09 bug_155
	  8960 2 PASS ok 153.1 2.18 bug_155 8960 3 PASS ok 153.6 2.09
	  bug_1578 8960 0 FAIL ok 0.0 0.00 bug_1578 8960 1 PASS ok 0.0
	  0.00

	  This should make it very easy now to get good measures and
	  reports about tests.

	  This closes the activity about testing (however some simple
	  report should be implemented out of it, like warning about
	  regressions).

	  I am going now to launch the whole tests on the clusters.

2010-04-22 15:04 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  static 2 lines too high.

2010-04-22 13:58 Alessandro Mariotti <mariotti@fbk.eu>

	* Removed special treatment for CYGWIN for signals. now sig*jmp
	  are used instead of *jmp.

	  This fixes mantis issue 1585

2010-04-22 12:58 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Solved mantis issue 1571. Input file is now checked to exists
	  when using one preprocessor.

2010-04-22 12:33 Marco Pensallorto <pensallorto@fbk.eu>

	* [REFACTORING]

	  * Slight improvement of BMC inc simulation by removing all
	  intermediate strcuts (~ 15% faster)

	  * Refactoring of trace/bmc utils

	  * Removed a memory leak in traces

	  * Changed an assertion into a more informative internal error in
	  defines evaluation.

2010-04-22 12:21 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  missing include

2010-04-22 11:39 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  "static" was one line too high.

2010-04-22 10:01 Roberto Cavada <cavada@fbk.eu>

	* TE Added option -v to run_all.sh (to specify revision manually,
	  which is required when running on clusters where svn is not
	  available"

	  Internal: switched to getopt

2010-04-21 19:19 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX 1769

	  Complex array expressions with ITE and dynamic indexes were not
	  always expanded when required.

2010-04-21 15:46 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed some memory leaks found on a standard NuSMV execution
	  (i.e. ./NuSMV model.smv)

	  Trailing whitespaces have been also removed

2010-04-21 14:27 Roberto Cavada <cavada@fbk.eu>

	* TE Completed support for asyncronous run of remote tests
	  run_all_remote can be used to setup and submit a bunch of tests
	  to the clusters (if you have access to them!)

2010-04-21 11:33 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed bug #1755. Bdd ref/deref was not correctly handled in mc
	  AG only counter-example generation.

2010-04-21 09:35 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Reviewed and fixed partial bugfix for issue #1767.

2010-04-21 09:23 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed issue #1767. -dcx was ignored in the AG only mc algorithm.

2010-04-20 16:42 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed bug #1766, incomplete BMC model extraction was not
	  correctly managed.  Assignment completion needs to be done at
	  each iteration and not just on the whole simulation
	  trace. Thanks to AT for helping pinpointing this.

2010-04-20 15:55 Roberto Cavada <cavada@fbk.eu>

	* TE

	  This is a set of meta-tests for running tests agains a given
	  revision, and to collect results for later comparison.

	  * test_rev_local.sh: tests a given revision, by: 1. checking out
	  it 2. compiling it 3. running it against the latest version of
	  tests (test/run_all.sh)


	  * test_rev_remote.sh: like test_rev_local.sh, but:

	  1. compile it on the cluster frontend (SUPPORTED, BUT NOT
	  AVAILABLE AT THE MOMENT, AS G++ IS NOT INSTALLED)

	  2. running the test on the cluster (AVAILABLE ONLY TO USERS WHO
	  HAVE ACCESS TO THE NEW CLUSTERS)

	  * test_revs_remote.py: handles parallel calls to
	  test_rev_remote.sh, by spreading all the calls to a row of
	  clusters.

	  WARNING: currently under testing

2010-04-20 13:22 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Likely the = should have been a == inside nusmv_assert.

2010-04-20 12:25 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fixes 1764.

2010-04-20 11:59 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX - RCTL ranges are now checked to be non-negative.  -
	  Compile_check_next now catches also next operators in matrix
	  defines

	  IMPROVEMENTS

	  Compile_check_next now asserts that when a declared symbol is
	  found, the symbol type is known (this is for future
	  implementations of new symbol types)

	  TEST FIXES Fixed test outputs accordingly to the new NuSMV
	  outputs.

	  removed useless test model, which was making the test fail even
	  if not related with the test context.

	  USER MANUAL NOw user manual reports that RCTL ranges should be
	  non-negative

2010-04-20 10:57 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug that caused the build to fail if EXPAT library was
	  not found.  Now restored proper error message and behavior when
	  EXPAT is not available.

2010-04-19 19:58 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX ctd.

	  Two wrongs dont make right. Maybe three?

2010-04-19 19:55 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix too early FREE. Thx to MP.

2010-04-19 19:28 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Changed show_property command to use -P for named properties (as
	  was documented).

2010-04-19 19:01 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed bug 467. Now an extra check for name clashing between
	  Nil-contexted vars and constants is performed when declaring
	  variables in Compile_DeclareVariable.

2010-04-19 18:11 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX 1762

2010-04-19 15:54 Roberto Cavada <cavada@fbk.eu>

	* TE Fixed "test revision" to exploit new parameters of run_all.sh
	  to control timeout and memout, and to measure resource usage in
	  tests.

2010-04-19 15:37 Roberto Cavada <cavada@fbk.eu>

	* META TE Added new options to run_all.sh

	  Usage: ./run_all.sh [-h] | [-r [-m MB] [-t secs]]

	  If requested (-r) run.c is compiled and used later for all
	  executions of ../NuSMV made by all tests.

	  (../NuSMV gets wrapped accordingly).

	  Added also check_segfaults which runs run_all and checks for
	  anomalous exit conditions, reporting them at the end.

2010-04-19 14:59 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIX

	  Models are fixed wrt the last commits which make array of
	  modules illegal (either declared with array or index-subscript).

	  Mostly the fix changed forall i in {M:N} : arr[i] & exp to
	  ((arr[M] & exp) & (arr[M+1] & exp) & .. & (arr[N] & exp))

	  and then converting all arr[i] into arr_i.


	  Additionally counter.smv example was fixed as type rules were
	  violated.

2010-04-19 13:59 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - Fixed mantis issue 1503: A proper error message is printed if
	  the size of the word constant created with *wconst is <= 0 or >
	  of MAX_WORD_SIZE.

	  - Fixed mantis issue 1433: Enumerative values are now printed in
	  the correct order, and {... 1,0} are not swapped if the
	  enumerative is not boolean only.

2010-04-19 09:40 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* SYNTAX CHANGE : FEATURE REMOVAL

	  Array of modules is not supported any more.

2010-04-19 08:58 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* ASSERTION

	  "nusmv_assert(false);" is added to SymbType_get_body to make it
	  illegal.  See issue 1760.

2010-04-19 08:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIX + CLEAN UP

	  1 Commented code was removed.  2. SymbType_get_body was changed
	  to SymbType_get_enum_type_values.

2010-04-19 08:42 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEEDBACK INTEGRATION]

	  * Removed dead code from models.c * Fixed docs and coding rules
	  * Prepared to switch to custom sbmc model extraction (currently
	  not enabled)

2010-04-19 08:31 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEEDBACK INTEGRATION]

	  * Removed non-used parameters * Removed intermediate be model in
	  trace construction when using sat (now trace is built directly
	  from a solvers' cnf model) * Fixed docs

2010-04-18 12:06 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]


	  * Fixed a regression recently introduced that could cause bad
	  bahvior with -dcx in McMillan's ITP algorithm
	  implementation. (found by inspection) * Fixed issue #1670 *
	  Minor changes to documentation

2010-04-16 16:50 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TEXT

	  1. Array types are added explicitly.  2. Index subscript is now
	  an individual operator, not part of identifier.  3. Martix
	  Define is renamed to Array Define.  4. Removed all examples
	  where identifiers with index subscripts were defined.
	  5. Appendixes were updated wrt above changes + missing unary
	  minus and if-then-else were added.

2010-04-16 15:52 Roberto Cavada <cavada@fbk.eu>

	* NEW TE

	  This is a meta-test: it constructs a given revision, and run all
	  available automatic tests collecting and sotring all results.

	  Still to be tested, and integrated into a more general framework
	  which can be run in parallel, and which can compare
	  non-regression results.

2010-04-16 11:43 Alessandro Mariotti <mariotti@fbk.eu>

	* Replaced all old domain references to irst.itc.it with the new
	  domain fbk.eu

	  The system has been tagged with name:

	  before_replacing_irst_itc_it_16042010

	  and will be tagged after this commit with name:

	  after_replacing_irst_itc_it_16042010

2010-04-16 08:37 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug in mc invar counterexample generation. Added
	  explicit management of adjacency case in binary search used as
	  part of the counterexample generation algorithm.

2010-04-16 07:21 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Removed a trailing \ which was causing problems.  Thanks
	  to MP&BB for reporting it.

2010-04-15 18:20 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Fixed the reorder timed constraint insertion function (for
	  certain cases).  Fixed the bug on constraint filtering.

2010-04-15 16:55 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Portability issue in makefile

2010-04-15 16:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 'make install' was not working correctly due to buggy
	  makefiles.  This is still to be checked.

2010-04-15 14:44 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - PSL forall works again. Compile_check_next has been refactored
	  in order to not crash if any unexpected identifier is found: in
	  fact, compile_check_next should only check if there are next
	  operators in the expression. Of course, define an parameters are
	  resolved and checked recursively as done before.

	  TEST FIX fixed test script for bug 1614 after recent
	  modifications.

2010-04-15 14:39 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a typo, which was making make distcheck fail in 32
	  bit machines.  Thanks to BB for reporting a wird behaviour which
	  helped to identify it.

2010-04-15 13:58 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Rm redifining _THROW warning by using newly exported _THROW from
	  base class.

2010-04-15 13:38 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix redefinition of NODE_PTR warning.

2010-04-15 13:20 Roberto Cavada <cavada@fbk.eu>

	* PACKAGING

	  1. targets 'dist' and 'distcheck' are back at last!

	  2. fixed configure to guess which makefile should be used when
	  building cudds

	  3. make now builds cudds when needed

	  4. fixed documentation to support VPATH

	  !WARNING! autoreconf and configure

	  There are still a few problems when building htmls (which appear
	  to be empty after make docs has been run)

2010-04-15 11:39 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fix for issue #0001743, check for boolean model added as
	  prerequisite for check_invar if BDD-BMC strategy is requested.

2010-04-14 20:10 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  ported last bugfix to TraceVIS plugin.

2010-04-14 20:07 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug that caused defines to be evaluated even if not
	  shown (found by code inspection).

2010-04-14 18:59 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a couple interacting bugs that caused crashes when using
	  BDD/BMC invar checking.

2010-04-14 16:53 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Fixed the bug in counting the simplification that has been done.
	  Fixed to adapt the new rule that trace starts from 1.  Still
	  need some work on reordering constraints based on time.

2010-04-14 16:30 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  * Fixed bug #1741 (https://essvn.fbk.eu/bugs/view.php?id=1741):
	  added missing intersection in AG-only counter example generation
	  code.

	  * Fixed bug #1736 (https://essvn.fbk.eu/bugs/view.php?id=1736):
	  fixed diameter computation in the BddFsm and the binary search
	  algorithm in mcInvar.

	  * Removed tabs and endline whitespaces in the files.

2010-04-14 15:48 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FEATURES ARE ADDED/REMOVED

	  1. MDEFINE is deprecated feature.  Instead DEFINE can be used to
	  declare array expression.

	  2. Index subscript expression now may have arbitrary expression
	  on LHS.  Actually, type checker allows only "next" and
	  "if-then-else", e.g.  (a ? b : c)[4].

	  3. Declaration of identifiers with index subscript is not
	  allowed any more.  For example, below is invalid code from now
	  on: VAR a[4] : boolean; DEFINE d[-1] := 0;

2010-04-14 14:49 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Was giving wrong results.

2010-04-14 14:08 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEATURE]

	  Extended support for slicing in commands show_traces. Now
	  negative indexes are supported to denote rightmost steps.

	  E.g.: show_traces 1.-1 (shows last state) show_traces 1.-5:
	  (show last 5 states) show_traces 1.5:-2 (show states from 5th to
	  last but one)

	  Command documentation needs update.

2010-04-14 13:46 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug in TraceUtils_put_values_from_sexp: negated booleans
	  were not properly managed.

2010-04-14 13:30 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUF FIX + REFACTORING

	  WARNING: whoever did bug fixes wrt to array type/expressions
	  last 2 day, please, re-test them. I tried to keep all the
	  modifications but something may be missed.

	  1. Array type was reimplemented.  2. Array types now can be
	  memory shared as any others.  3. Adhock implementation of
	  "Symbol Type" (which are actually array vars) are changed to
	  proper one, i.e.  it is not SymbLayer but SymbCache who store
	  them.  4. In type checking arrays are now expressions, not
	  identifiers.

2010-04-14 13:00 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed problem on array types with non-constant number as
	  arguments / ranges of the array elements types.

	  This fixed mantis issue 1613

2010-04-14 10:29 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Patched issue #1738. Proper test case is to follow (after lunch
	  :)

2010-04-14 10:05 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  AvoidDeadlock -> AvoidTarget

2010-04-14 09:37 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Solved issue 1614.  Array range was not resolved ad done for
	  words and other types.  Now range is resolved at compile time
	  and the bug does not show anymore.

2010-04-14 08:14 Alessandro Mariotti <mariotti@fbk.eu>

	* NEW FEATURE

	  Now bit selection expressions handle constant expressions as
	  range arguments. For example, one can do: VAR w : word[10];
	  DEFINE x := 5;

	  TRANS w[x, x - 1] = 0ud2_2;

	  A test script has also been added. if some test fail, please
	  check that you have mathsat enabled.

	  This fixes issue 1615 in mantis

2010-04-13 18:02 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Solved a problem with frozenvars in BMC model extraction.
	  (assertion failure)

2010-04-13 16:59 Marco Pensallorto <pensallorto@fbk.eu>

	* [MAJOR]

	  Implemented new trace package that should (hopefully) overcome
	  known limitations and shortcomings of the previous one. Since
	  the impact on the system is somewhat sparse the number of files
	  modified is relatively high. Though I have put any best effort
	  to avoid problems with the existing code, it is likely there are
	  going to be some glitches.

	  I will fix any problem that should arise ASAP.  I am confident
	  in your patience and cooperation.

	  (and of course next icecream's on me :)

2010-04-13 15:02 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Removed simplification function (Causing the problem to get
	  reset and not recognizing new invars), Fixed the bug in swap
	  propagation function.

2010-04-13 14:00 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Fixed all the source tree to allow building with VPATH.

	  This (re)allow users to configure and build from a build-tree
	  different from the source-tree.

	  For example:

	  $> pwd .../NuSMV2/trunk/nusmv $> mkdir build $> cd build $>
	  ../configure ...  $> make

	  At the end, the source tree will be untouched, and all generated
	  files will be created in the build-tree whose root is 'build'

	  This commit is intended to prepare "make dist" to be at last
	  working again.

	  !!WARNING!! You will need to: 1. update from top-level (nusmv,
	  zchaff and minisat have to be updated) 2. autoreconf
	  3. configure 4. make

2010-04-13 13:34 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  The piece of code looked essentially like this before:

	  #include <stdio.h> #define S1 "string 1" #define S2 "string 2"
	  int main(int argc,char* argv[]) { char* sarr[3] = {S1, S2,
	  (char*) NULL}; char** selem;

	  for (selem = sarr; *selem != (char*) NULL; selem++) {
	  printf("selem == S1: %s\n", (char*) *selem == (char*) S1 ? "yes"
	  : "no"); printf("selem == S2: %s\n", (char*) *selem == (char*)
	  S2 ? "yes" : "no"); }

	  return 0; }

	  While the output on my machine with my gcc says yes and no two
	  times, the C std A.2.6 doesnt seem to guarantee this in my
	  understanding.  Replaced comparison of pointers to strings with
	  strcmp.

	  Thanks to IN for discussion.

2010-04-12 11:23 Andrea Micheli <amicheli@fbk.eu>

	* Fixed problem in msat_enc_term_to_expr_recur(). The new code for
	  uninterpreted function management was unable to instantiate the
	  actual parameters of the function.

2010-04-12 09:37 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added -quiet undocumented option, which prevents the NuSMV
	  banner to be printed.

	  - Added the CUDD license to the NuSMV banner.

2010-04-12 09:01 Alessandro Mariotti <mariotti@fbk.eu>

	* Removed the SIM package from the system.

	  Now all BMC commands are under conditional code: If no SAT
	  solved is available, no BMC commands / options are added to
	  NuSMV.

	  A new define has been added to config.h: HAVE_SAT_SOLVER. This
	  variable is true iff at least one sat solver is linked to NuSMV
	  (zchaff or Minisat, or both).

	  Special commands (such as execute*traces and check_invar) have
	  been also updated, to deal with the absence of a SAT solver.

	  The user manual has been updated.

	  The configure script now warns the user if no sat solver is
	  going to be linked.

	  NB: The system has been tagged as before_sim_removal_12042010
	  and will be tagged again after this commit as
	  after_sim_removal_12042010

2010-04-10 11:49 Andrea Micheli <amicheli@fbk.eu>

	* Fixed bug #1725 (https://essvn.fbk.eu/bugs/view.php?id=1725).

	  Added missing BIT node type support to Expr_is_booleanizable()
	  function.

2010-04-09 20:31 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTORING

	  This commit is preparation to fixing bug 1707 and 1090 about
	  "next" and if-then-else.


	  1. Implementation of MDEFINE is changed: now it is normal right
	  directional list of values (instead of left directional, i.e.
	  with tail on the left and head on the right).

	  In many functions elements of ARRAY_DEF is now processed in loop
	  instead of recursively. This simplified code quite considerably.

	  2. a few minor fixes were done wrt MDEFINE.

	  3. warnings for AMi were added.

	  After this commit NuSMV is expected to behave exactly the same
	  as before.

2010-04-09 17:27 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix warning when using process_model that check_spec is
	  deprecated.

2010-04-09 17:01 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Guess what, in CommandProcessModel.

2010-04-09 16:41 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  8747 introduced a segfault. I hope this fixes it. AMa, please
	  double check.

2010-04-09 12:01 Andrea Micheli <amicheli@fbk.eu>

	* Fixed bug #1721 (https://essvn.fbk.eu/bugs/view.php?id=1721).

	  There was a problem in word booleanizability check which has
	  been fixed.

2010-04-09 03:53 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Make command go generic as it depends on game vs non-game but is
	  implemented solely by calling other commands.

2010-04-09 03:49 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Typo in command name.

2010-04-08 22:45 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leaks in implementation of show_property.

2010-04-08 17:32 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Split write_flat_model, write_boolean_model into game and
	  non-game versions.

2010-04-08 16:45 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Another one bites the dust. Aka leak.

2010-04-08 16:32 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix a leak.

2010-04-08 15:41 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Implement the mode switch in a bit more generic way.

	  Game commands specific things are now in gameCmd while the more
	  generic things are in gamePkg. Essentially the commands related
	  parts in the mode switch take 3 lists of commands - no game
	  specifics here.

	  In gameCmd theres only one array for each set of commands
	  (generic, dependent, specific) rather than forcing changes in
	  more than one place when adding/moving/shifting commands between
	  sets.

	  Mode switch iS not quite ready for separate packaging but better
	  than before.

2010-04-08 15:22 Alessandro Mariotti <mariotti@fbk.eu>

	* Solution to issue 489.

	  BddCache is cleaned when removing a layer. This is done for the
	  requested layer and for it's boolean version.

2010-04-08 13:42 Alessandro Mariotti <mariotti@fbk.eu>

	* Added support for bit-selection to the PSL syntax.  The new
	  operator can be used in this way:

	  select(word, num, num) and is equal as word[num,num] in the core
	  grammar.

	  NB: All modified files have been cleaned from tabs and trailing
	  whitespaces

2010-04-08 13:17 Roberto Cavada <cavada@fbk.eu>

	* NEW TE This is a meta test which runs all automatic tests. It
	  also checks issue 1703 before launching tests.

2010-04-08 13:15 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 1703 Fixed issue 1703 (all automatic tests should set
	  on_failure_script_quits)

2010-04-08 10:06 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed test to not hang.

2010-04-08 07:42 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX test was failing due to wrong file name usage

2010-04-08 07:42 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added on_failure_script_quits to avoid test hang

2010-04-08 04:26 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Split build_model, build_boolean_model, build_flat_model into
	  game and non-game versions.

2010-04-08 03:21 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leak.

2010-04-07 22:02 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Perform deinitialization as suggested by AT in a warning. Fixes
	  1704.

2010-04-07 14:23 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug with SWCONST operator. It was converted as UWCON
	  instead

2010-04-07 14:16 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Dis-/enable game and non-game commands depending on whether a
	  game is handled.

	  Note that this is only the mode switch. The mode-dependent
	  commands still have to be split into non-game and game versions.

2010-04-07 13:57 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed resize() word operator.

2010-04-07 12:34 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug 473: Using preprocessors when giving the SMV file as
	  stdin was causing seg.fault. The issue is now fixed.

2010-04-07 11:50 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  include is changed.

2010-04-07 10:25 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Rm unused var.

2010-04-07 09:26 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX + MINOR REFACTORING

	  In VarDomain.c the size of ranges was changed from size_t to
	  unsigned long long (to be able to deal with 64-bit words).
	  Additionally VarDomain_get_size was removed because it could not
	  return the size of the maximal range, i.e. max range is 0..2^N-1
	  and its size is 2^N, i.e. outside of possible values.

	  RangeRed.c was refactored a bit and in case expressions for
	  substitution variables the smaller values are now put earlier.

2010-04-06 15:13 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix mem leak. Thx to AMa for the report.

2010-04-06 09:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #0001366 Printer for UMINUS checks if a signed negative
	  word follows, and adds a space if it is the case, to avoid "--"

2010-04-06 08:31 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX CVS directories were not touched by makefile's
	  targets. Updated them to handle SVN direcoties as well, as
	  otherwise some targets were breaking the local repository
	  (e.g. 'make docs' was breaking doc/html dir).

	  WARNING: needs autoreconf/configure

2010-04-02 16:42 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  For check_$(some game property) specifying a property of a
	  different kind with -n lead to assertion violation.

2010-04-02 14:02 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added configure options:

	  --enable-profiling --enable-pedantic

2010-04-02 00:27 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Added simplification function, times and minus operation to
	  handle parameters (not yet complete)

2010-04-01 18:07 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX #1965 + minor refactoring

	  Bug fix: * in Expr.c after constant casts original expr were
	  used instead of cast result.  * When union was created the
	  elements were not normalized.

	  Refactoring: * Expr.c now performs more simplifications related
	  to words comparisons, word1-bool casts. A few warnings about
	  code style/efficiency were added.

2010-04-01 15:22 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 0001403 print_fsm_stats ignores option -o to print on a
	  file the output

2010-04-01 13:05 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed weird behavior when using both -bmc and -obm command line
	  arguments: The boolean model was built for boolean model
	  dumping, and then it was asked to be built again by the BMC
	  option. Now bmc option checks if the boolean model has already
	  been built. If not, builds it. The update also takes in count
	  COI. If coi is enabled, the model building is not necessary

2010-04-01 10:26 Andrea Micheli <amicheli@fbk.eu>

	* * Fixed possible SEGFAULT when no model is read and we try to
	  parse a command line expressions.

	  * Removed TABS and endline spaces from this file.

2010-04-01 08:40 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING

	  Fixed the way internal can_handle_null is exposed and used by
	  printers.

2010-03-31 19:04 Viktor Schuppan <schuppan@fbk.eu>

	* REVERT

	  This reverts most of commit 8598.

	  Note that for now print_sexp for game tokens doesn't work. This
	  will be done in a following commit.

2010-03-31 16:26 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1487 Fixed memory leak in Master printer.

2010-03-31 16:14 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 0001488 Fixed memory leak about cmds structure.

2010-03-31 16:00 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 0001489 Fixed memmory leak in ClusterList.  TO BE DOUBLE
	  CHECKED!

2010-03-31 15:14 Alessandro Mariotti <mariotti@fbk.eu>

	* - Refactored the Velos_PrintSexp according to the new print_sexp
	  standards (ie use the Printers).

	  - Removed some compilation warnings and tabs

2010-03-31 15:13 Alessandro Mariotti <mariotti@fbk.eu>

	* Temporary commented the new gameSexpPrinter functions. These
	  should be implemented by VS according to the new print_sexp
	  standards (ie: Create a GameSexpPrinter and register it to the
	  master_sexp_printer)

2010-03-31 13:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTOING OF RANGE REDUNCTION

	  range.c was refactored strongly.  The main change is to perform
	  intersection of var ranges obtained from INVAR/var type and the
	  values from assignments.  Var domain now may be empty when
	  conflict (deadlock) is detected.  Also many small bugs fixes,
	  functions simplified and new added.  The code is more stractured
	  now.

	  Adiitionally:

	  In VarDomain: * undefied range is made the final and biggest
	  range possible, i.e. setting to undef frees all collected
	  concreate values.  * the result of intersection is saved in
	  first argument without creating a new VarDomain (this is
	  efficiency issue) * intersetion is tested and a few bugs are
	  fixed.  * assertion is added to VarDomain_add_interval to check
	  that lower bound is less than bigger bound.  Silent swapping was
	  disabled as it hided bugs in other parts.

	  In RangeRed.c: * minor bug/comment fixes.  * support for empty
	  var domain is added.

2010-03-31 11:38 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Rm duplicate declaration.

2010-03-31 00:56 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix copy paste bug.

2010-03-30 17:56 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  parentheses were missing in marco definition.

2010-03-30 16:31 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1694

	  A few addons were not be correctly ported to the new property
	  db.  I think that this was caused by a missing inclusion of
	  prop.h file in the fixed files.

	  I cannot find any other files showing this issue.

	  See https://essvn.fbk.eu/bugs/view.php?id=1694

2010-03-30 15:51 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Printing of node_ptrs with game type nodes now via
	  Game_PrintSexp.

2010-03-30 15:44 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix segfault for REACH/AVOIDDEADLOCK properties.

2010-03-30 15:07 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Rm unused token PLAYER.

2010-03-29 14:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #0001618 Range are checked with bound inclusion.

2010-03-29 14:25 Alessandro Mariotti <mariotti@fbk.eu>

	* - Fixed Memory Leaks (this solves issue 1687) o Fixed memory
	  leak in boolean options (a string was duplicated twice) o Fixed
	  memory leak in some char* options getters: All FREE calls to
	  these returned string have been removed.

	  - Set to private some options that were private with the old opt
	  system but were erroneusly declared public

	  - Removed the opt_game_game function from the core. Now all code
	  uses this function only if HAVE_GAME is true

2010-03-29 14:16 Roberto Cavada <cavada@fbk.eu>

	* COMMENT Added a comment to clarify issue 1435, which seems to be
	  not easily fixable for 2.5.0

2010-03-29 12:07 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Options are not reset anymore when using command "reset". This
	  brings back the system to behave as before the new OptsHandler
	  implementation, and solves bugs #1692 and #1690 (which were
	  equivalent)

2010-03-29 07:35 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* * Refactored and cleaned up file models.c.

	  * Added a function called
	  MSat_get_all_models_as_bdd_timed_var_list() which performs the
	  existential quantification using msat_all_sat but is able to
	  consider 'important' a set of TIMED variables (instead of
	  considering important the given variables at any time as
	  MSat_get_all_models_as_bdd() does).

2010-03-26 17:27 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Fixed the conditional CASE handling, TIMES for real handling,
	  and GE and GT for real handling.

2010-03-26 15:11 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in BddEnc when hack of groups (cegar) is
	  enabled.  This completes bug fix #1632

2010-03-26 13:32 Alessandro Mariotti <mariotti@fbk.eu>

	* Updated test script in order to use check_invar_inc_coi_bdd
	  instead of check_invar_inc_coi and check_ltlspec_inc_coi_bdd
	  instead of check_ltlspec_inc_coi

2010-03-25 21:38 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* INTERMEDIATE COMMIT

	  The code of range reduction is under heavy refactoring and bug
	  fixing.  Warning : this commit makes range reduction not fully
	  functional.

2010-03-25 20:44 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Move the Buchi game approximation out of the main routine for
	  reachability/avoidance games.

2010-03-25 17:01 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1632

	  Fixed a bug in the reshuffle code, which was erroneously
	  including index 0 in reshuffle, under some circumstances.
	  https://essvn.fbk.eu/bugs/view.php?id=1632

2010-03-25 16:59 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX reset was not working properly, as prop db was not
	  cleaned correctly.

2010-03-24 13:05 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Added include "utils/ustring.h" to be able to recognize
	  string_ptr data structure.

2010-03-23 19:09 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  The result of approximation D was wrong on the following
	  example:

	  GAME PLAYER_1 PLAYER_2 VAR o: boolean; TRANS o <-> !next(o)
	  AVOIDTARGET PLAYER_2 o

2010-03-23 15:51 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Fixed a bug which was appearing when 'game' was enabled, as
	  normal (non-game) properties were not handled correctly.

	  Thanks to VS for pinpoining it.

2010-03-23 13:18 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING

	  Refactored class Prop Added new class PropDb

	  There exists a tag tagging the system before this invasive
	  refactoring.

	  WARNING1: game should be tested WARNING2: needs autoreconf and
	  re-configuration

2010-03-19 14:49 Viktor Schuppan <schuppan@fbk.eu>

	* CODE CLEANUP

	  - (Slightly) extend translation.  - Extend/rewrite descriptions.
	  - Formatting.

2010-03-19 13:15 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  function node_normalize_list is added.  It is exactly the same
	  as node_normalize but if top expression is a list then it is
	  processed in loop instead of recursively.

2010-03-18 16:29 Alessandro Mariotti <mariotti@fbk.eu>

	* BACKUP commit

	  This commit is intended only as backup.

	  OptsHandler will be the new options management class. It has
	  been completely refactored and documented according to the nusmv
	  coding rules

2010-03-18 12:17 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX This commit fixes bug 1677. A control for non-null field
	  was missing.

2010-03-17 21:57 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  When constructing the monitor sexp, use new_node rather than
	  find_node for the structural (list, INIT, TRANS, etc) parts -
	  see ltl2smv.c. The expressions below use find_node.

2010-03-17 09:51 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Function parameters where not correctly flattened (actually,
	  they were flattened but not updated within the expression)

2010-03-15 11:29 Viktor Schuppan <schuppan@fbk.eu>

	* CODE CLEANUP

	  Replace questionable uses of node_get_type with node_set_type.
	  Clean spaces, tabs.

2010-03-15 09:32 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX:

	  - Fixed Mantis Issue 1669: When using trace re-execution with
	  interpolants, if the set of refinement variables was already
	  contained in the set of COI(k) variables, then the algorithm was
	  looping.

	  - Removed some warnings from the MSatEnc

	  - Temporary disabled theory combination support in the MSatEnc.
	  It conflicts with interpolants.  Uninterpreted functions with
	  BitVector will temporary not work (to be discussed)

2010-03-15 08:49 Alessandro Mariotti <mariotti@fbk.eu>

	* Enabled Theory Combination for Uninterpreted functions support.
	  Not enabling it results in assertion failures when using
	  BitVectors as parameter types.

	  Enabling is has no side-effects on the current NuSMV behavior

2010-03-12 13:20 Alessandro Mariotti <mariotti@fbk.eu>

	* Removed hack for bug 1470 and fixed with proper fix

	  Now also state/input/next_state variable cubes are taken into
	  account for BDD FSMs memoization

2010-03-12 10:40 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed missing entries to Makefile.am for make dist.  This commit
	  should fix issue #1528

2010-03-11 08:09 Andrea Micheli <amicheli@fbk.eu>

	* Fixed bug #1663 (https://es.fbk.eu/bugs/view.php?id=1663).

	  CNF model is now checked for not being NULL before 'destroy'
	  call in ZigZag algorithm.

	  This problem was introduced in the migration from lsList to
	  Slist because lsList destructor silently accepts NULL lists
	  while Slist's one throws an assertion.

2010-03-10 21:56 Alessandro Mariotti <mariotti@fbk.eu>

	* - Fixed commands usages - Fixed BDD memory leak - Added warning,
	  printed if computed reachable states with compute_reachable_gr
	  are not complete

	  This fixes mantis issues #1651, #1650, #1653

2010-03-05 07:56 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed problem in counter acceleration command: now the list
	  counter-values can be specified with any arrangement of
	  parenthesis.

2010-03-04 16:58 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE + REFACTORING

	  1. Command read_trace was changed: * option -i was made
	  deprecated. filename can be provided without options * option -w
	  was renamed to -u * option -s was added to disable error on
	  symbols found in wrong section.  2. In XML loader a function
	  which creates a trace from collected assignments was refactored.

2010-03-03 16:07 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX + COSMETICS]

	  * fixed a bug that caused encoding bits not to be committed when
	  not in word native mode.

	  * removed a couple of obvious warnings.

	  * removed non standard logging printout from a few places. Not
	  standard verbosity is used instead.

2010-03-03 15:09 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed issue #1611: "Model extraction does not correctly support
	  signed words". The problem was in interaction between WordNumber
	  API and MathSAT.

2010-03-03 15:08 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Extended test case for bug_1611: "Model extraction does not
	  correctly support signed words".

2010-03-03 13:45 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug (typo in function name) in normalization that caused
	  problems when real constants were processed.

2010-03-03 12:20 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REMOVED CHARACTER ' IN WARNING

	  Again: DO NOT USE UNPAIRED ' and " IN WARNINGS.

	  For example, such warnings as

	  #warning [AMi] shouldn't we free the arrays?

	  are prohibited.

	  The reason is that by C standard even in warnings compilers have
	  to detect and construct string literals (charactes between ' '
	  and " ").  If there is only one ' or " this is an error.

	  This rule may be not very clever and gcc ignores it, but other
	  compilers follow it.  Thus, do not use unpaired ' and " in
	  warnings!

2010-03-02 15:21 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1637 (https://es.fbk.eu/bugs/view.php?id=1637)
	  correcting wrong assertion and performing code factorization.

2010-03-02 08:45 Marco Roveri <roveri@fbk.eu>

	* PARTIAL BUGFIX (HACK) for issue #1461

	  Added some warning to keep into account.

2010-03-01 19:14 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Added test case for bug #1611: "Model extraction does not
	  correctly support signed words"

2010-03-01 19:05 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Added test case for bug #1620: "msat_check_invar_bmc -a
	  interpolants crashes"

2010-03-01 18:49 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a severe typo that could cause assertion failures when
	  converting a term to a sexp. The bug should be localized to
	  normalization.

2010-03-01 14:38 Alessandro Mariotti <mariotti@fbk.eu>

	* Removed the use of malloc(.  All calls have been replaced with
	  the NuSMV macro ALLOC(..)  All relative free() calls have been
	  replaced with the NuSMV macro FREE(..)

	  Also found files containing tabs have been cleaned

2010-03-01 10:27 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1630

	  Now multiple (failing) calls to build_boolean_model no longer
	  segfaults.

	  https://es.fbk.eu/bugs/view.php?id=1630

2010-02-26 17:30 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  1. default-case was not added in many case-expressions because
	  power of 2 was computed incorrectly.  2. minor refactoring to
	  get rid of variable M 3. added a few warnings (one for Macro
	  Roveri)

2010-02-26 15:27 Alessandro Mariotti <mariotti@fbk.eu>

	* BDD based invariant checking can now use cached reachable states
	  computed with the Guided Reachability command
	  "compute_reachable_gr".

	  Counter-example is not generated, however a possible solution
	  has been added as comment (marked with a warning) inside the
	  code

2010-02-26 15:25 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added new semantics to the ";" operator. The new semantics can
	  be used by passing '-u' option to both GR commands - Renamed
	  _debug_guided_reachability to compute_reachable_gr - 'e'
	  argument of check_invar_gr and compute_reachable_gr does not
	  require the "grsequence" prefix anymore - compute_reachable_gr
	  caches found reachable states into the BddFsm - Added 'D'
	  argument to the compute_reachable_gr command: Enables debugging
	  (computed reachable states are compared to the ones computed via
	  standard reachability analysis - Added 'P' argument to the
	  compute_reachable_gr command: Enables some profiling - Updated
	  the README.txt according to the new implementation

2010-02-26 14:26 Alessandro Mariotti <mariotti@fbk.eu>

	* Added some functionalities to the APIs.

	  Basically a new field has been added to the BddFsmCache. This
	  field will be used for holding the set of reachable states
	  computed by Guided Reachability, which lacks onion rings and
	  diameter informations.

2010-02-25 17:17 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REVIEW OR PREVIOUS COMMIT + FIX + REFACTORING

	  1. Fixing a) wrong step number reported in error messages b)
	  state and input defines from COMBINATORIAL section were
	  incorrectly computed for the last state.  2. Minor refactoring,
	  a few vars/funs renaming.  3. Error/warning messages were
	  changed.  4. Warnings are added about code style.

2010-02-24 18:35 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTORING

	  Now Compile_detexpr2bexpr_list is invoked instead of
	  Compile_detexpr2bexpr during SAT trace execution.

2010-02-24 18:34 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  Compile_detexpr2bexpr_list is introduced. It behaves the same as
	  Compile_detexpr2bexpr but considers the top level expression as
	  a list and processes the list elements in a loop instead of
	  recursively.

	  For SAT trace execution this allowed to avoid stack overflow
	  which happened with big models.

2010-02-24 16:56 Andrea Micheli <amicheli@fbk.eu>

	* Modified trace_read command.

	  Changhed Error/Warning message displayed when an undefined
	  symbol is encountered and now such warnings are shown only once.

2010-02-24 15:45 Andrea Micheli <amicheli@fbk.eu>

	* Removed two very ineddicient functions of Slist data structure.

	  The removed function were: * Slist_bottom * Slist_last

	  After a discussion with [AT] and [MR] we decided to remove these
	  newly introduced (and unused) functions due to their
	  inefficiency.

2010-02-24 11:06 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Added application of mask to failure variables before starting
	  minimization of BDD for MCSs (except two cases where it is
	  already applied).

	  Moved one (previously static) function to BddUtils package.

2010-02-23 21:15 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTORNIG

	  To perform type checking in function Trace_is_valid at first
	  list of all symb=value pairs was created and then the type
	  checker was invoked. This caused stack overflow for a model with
	  big number of symbols.

	  I changed the code to invoke type checker on every individual
	  pair without creating a list.

2010-02-23 21:11 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* WARNING ADDED

	  Currently a trace is checked for beign valid (for example, well
	  typed) after construction. At that time the info about line
	  number is lost and error messages provide incorrect line number.

	  A solution is to move validity checks to functions which
	  construct the trace after parsing.

2010-02-23 19:54 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* WARNING ADDED

	  Implementation and design of the function checking category of a
	  define seems not perfect for me.

2010-02-23 16:27 Andrea Micheli <amicheli@fbk.eu>

	* Added option to 'read_trace' command to avoid strict checking of
	  undefined symbols.

	  Passing '-w' option, it is now possible to load a trace from an
	  xml file containing symbols which are not defined in the model
	  (such symbols will be ignored).

	  A warning is shown when an undefined symbol is encountered.
	  (This is a possible problem since in a very long trace where the
	  same symbol appears in every state, the user is warned many
	  times about the save symbol. We can avoid this problem but I
	  have to discuss with

	  and [AC] about this.)

2010-02-23 13:19 Marco Bozzano <mbozzano@fbk.eu>

	* Completing previous (unintentional) commit (1.1.2.23 - with no
	  message).

	  Rolled back commit in version 1.1.2.19 for standard mode (the
	  new code was working for COMPASS mode only!).

	  Now conditional code for standard and COMPASS mode.  Added a new
	  function get_preferred_cnfVar_at_time for code sharing.

	  The reason (see comment on 1.1.2.19 commit) why model variables
	  are ruled out is that only Booleanized variables must be added.

2010-02-23 07:32 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Added test case for bug 1624: "Simulation crashes on a very
	  simple model"

2010-02-23 07:06 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed bug 0001624: Simulation crashes on a very simple model".
	  Simulation print routine did not properly initialize newly
	  introduced Trace printing options structure.

2010-02-22 09:11 Marco Bozzano <mbozzano@fbk.eu>

	* Moved some declarations in portability.h (now included from
	  portability.c).  This should fix potential warnings caused by
	  'rpl_malloc' and 'rpl_realloc' not being declared.

2010-02-19 15:05 Alessandro Mariotti <mariotti@fbk.eu>

	* Updated BMC counterexample generation:

	  It now uses the new APIs, avoiding the use of BDDs for the
	  counter example generation in SAT based BMC / SBMC algorithms.

	  See mantis issue 1584 for details.

	  the system has been tagged before this commit:
	  before_sat_traces_no_bdd_19022010

2010-02-19 14:56 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  BeEnc was not supporting frozen variables into next operators.
	  Support has been added as suggested by the comment in the
	  function:

	  currently the argument can only be a state variable. If later it
	  appears that a frozen var somehow can be met here it will be
	  necessary to distinguish frozen from state var and return
	  BeEnc_name_to_untimed(be_enc, car(bexp)) for frozen vars.

2010-02-19 11:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1621

	  Still existing frozen variables logical indices were not
	  correctly compacted after the removal of layers. In particular,
	  phy2log array was changed without considering that frozen
	  logical vars share physical indices.

2010-02-19 01:52 Marco Roveri <roveri@fbk.eu>

	* Added an assertion to Rbc_GetIthVar to guarantee the asked
	  variable is greater than 0. It might be the function is called
	  with a variable name lower than 0 thus resulting in accessing
	  element -1 of an array which does not exists.

2010-02-18 10:00 Andrea Micheli <amicheli@fbk.eu>

	* Removed lsList from BMC, Rbc, Be, Dag and Sat to improve
	  performance and reduce memory usage.

	  * cnf model is now represented as a Slist.

	  * be_model is no longer an lsList but it is A Slist.

	  * SAT model is now a Slist.

	  * SAT groups are now stored in a Olist

	  * Dag nodes does not contain lsLists any more, to store sons we
	  use a simple array with an integer.

	  * Rbc uses Dag's new structure

	  NOTE: this commit is huge and needs a lot of testing, so please
	  let me know if any problem occurs. The whole system was tagged
	  before this commit as
	  'before_removal_of_lslist_from_sat_bmc__18022009'.

2010-02-17 19:43 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  "resize" incorrectly specified widths of words.

2010-02-17 19:40 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TESTS

	  new tests: one tests the predicate extractor does not dies on
	  any of operations; one tests that predicate extractor
	  simplifications work properly.

2010-02-17 15:13 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Removed several memory leaks due to the use of find_atom
	  within the parser.

2010-02-17 14:51 Roberto Cavada <cavada@fbk.eu>

	* FEATURE 'goto_state' and the '*_pick_state' commands allow for
	  specifying relative state indices.

	  For example "2.-1" is the last state of the trace "2".

2010-02-17 14:50 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added function TraceManager_get_abs_index_from_label.
	  The new function deals with negative 9relative) state indices,
	  and returns absolute state indices out of them.

2010-02-17 14:07 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW OPTIMIZATION

	  Now PredicateExtractor can detect if every predicate in an
	  expression is TRUE only or FALSE only and perform elementary
	  boolean simplifications based on that.

2010-02-17 10:13 Marco Roveri <roveri@fbk.eu>

	* Added M4 Macro files and revised version of nusmv-mode.el.

	  Thanks to Roger Villemaire [villemaire.roger@uqam.ca] for this
	  conrtib.

2010-02-17 09:59 Marco Roveri <roveri@fbk.eu>

	* Slightly modified code rules by

	  - adding that no spaces/tabs at the end of lines should be
	  present in the code.

	  - adding that class methods should have as first instruction the
	  class check instance macro (that should be created if not
	  already done)

	  - adding suggestions for emacs users to detect code style
	  problems, with some code snipped to activate it

	  - changed template to refer to fbk.eu instead of irst.itc.it

2010-02-17 09:29 Roberto Cavada <cavada@fbk.eu>

	* NEW OPTION Added option -n to command 'echo' to do not output
	  the trailing newline.  Fixed docs accordingly.

2010-02-16 15:28 Alessandro Mariotti <mariotti@fbk.eu>

	* Added first test model for BDD independent BMC / SBMC
	  counter-example generation

	  All properties in model are FALSE.

2010-02-16 10:53 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Improved several aspects of handling of real numbers. This
	  commit should fix issue #1610.

	  Improved support for DIVIDE operator.

	  Code cleanup.

2010-02-16 10:29 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Added test cases for issue #0001610: Different numeric
	  representations needs better support.

2010-02-15 15:51 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX


	  Expr_... functions caused problems as they are invoked on new
	  simplified expressions which may contain artificial variable
	  __IS_INIT_STATE which is not declared in symbol table.

	  The fix adds a new layer with above var and then removed at the
	  end.

2010-02-15 15:13 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Resolved small bug due to last commit

2010-02-13 13:28 Marco Roveri <roveri@fbk.eu>

	* PARTIAL FEATURE: #1607

	  Added option -D to command write_simplified_model2 to enable
	  daggification of the expressions as to improve efficiency of the
	  simplification.

2010-02-13 10:54 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1602

	  Added support for reals and integer variables.

2010-02-12 20:16 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REFACTORING

	  The code which computes ranges of possible var value has been
	  switched from PredicateNormaliser to PredicateExtractor.

2010-02-12 20:04 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR BUG FIX

	  Command _predicate_abstraction_simp showed help of
	  _free_input_propagation.

2010-02-12 17:14 Roberto Cavada <cavada@fbk.eu>

	* FEATURE * Added new command
	  bmc_simulate_check_feasible_constraints

	  * Added new command bmc_pick_state

	  * Fixed existing bmc_simulate and bmc_inc_simulate to handle
	  persistent (extensible) simulation like in BDD simulation.

	  * Fixed existing tests to use bmc_pick_state which is now
	  required to simulate

	  WARNING: Documentation is still to be fixed

2010-02-12 16:58 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added missing headers in addons/mathsat's makefile

2010-02-12 16:50 Roberto Cavada <cavada@fbk.eu>

	* FEATURE * Added new command
	  msat_simulate_check_feasible_constraints * Added underlaying
	  API+inplementation.

2010-02-12 16:25 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added TraceOpt class, which contains trace options used by all
	  trace plugins

	  - Added environment variable evaluate_defines_in_traces, which
	  enables/disables defines evaluation in traces. Default is true

	  - Removed Trace_evaluate_defines() call from Trace_begin(). Now
	  the method has to be called explicitly.

	  Warnings have been added in the code were Trace_begin was
	  called. Code maintainers should check if modified code did not
	  modify in any way the behavior of the original code.

	  ASAP a note regarding this code update will be added in mantis


	  The system has been tagged as before_trace_opt_12022010

2010-02-12 13:32 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REFACTORING

	  Command write_pred_clusters_model now used new
	  PredicateExtractor class to compute clusters.

2010-02-12 13:28 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* COMMAND RENAME

	  1. _write_pred_clusters_model was renamed to
	  write_pred_clusters_model ("_" was removed) 2. error messages
	  slightly changed.

2010-02-12 12:50 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1597

	  Next were erroneously lost when the simplified expression was
	  not rewritten.

	  Minor cleaning of the .h to remove code with #if 0 #endif

2010-02-11 19:36 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTORING

	  Algorithm which computes initial static BDD order using
	  heirustic has been optimized.  Now it used PredicateExtractor
	  instead of PredicateNormalize.

2010-02-11 19:33 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  given a var PredicateExctractor now can return a cluster in
	  which the var is in.

	  [At]

2010-02-11 17:30 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Add missing cars.

2010-02-11 17:13 Marco Roveri <roveri@fbk.eu>

	* Added define DO_CLUSTERS_FOR_BITS_IN_EQDEF_AMONG_WORDS to
	  control how BDD clusters for the transition relation are created
	  for assignements of the form: x := f(X) where x is a word. The
	  assignements corresponds to /\_i x_i <-> f_i(X). If the define
	  is not enabled, then a unique BDD cluster for x := f(X) is
	  created. Otherwise, a cluster for each x_i <-> f_i(X) is
	  created.

	  By default this define is disabled.

2010-02-11 16:35 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Reimplemented support for bitmasks in transition relation when
	  using MathSAT moving bitmasking into the bmcModel functions,
	  used as building blocks of all bmc based algorithm.

	  This solution, while still not optimal (masks need to be
	  re-calculated every time, and are possibly added multiple times)
	  at least should restore the previous behaviour (e.g. allowing to
	  translate to a msat term a non boolean expression).

	  A more principled solution requires careful analysis which is
	  currently underway.

2010-02-11 12:11 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Temporary workaround for Mantis 1470: disable BDD FSM caching
	  when handling a game.

2010-02-10 14:57 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Wrong type.

2010-02-09 20:35 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: 1582

	  Modifed the node_hash_fun to be robust to 64bit machines. Now
	  instead of the inttype filed of the node ptr of the left and
	  right child the whole address is used, and unsigned changed to
	  size_t (correct type for pointers both at 32 and 64 bit
	  machines).

	  Better testing is needed to see if there is a better
	  distribution within buckets on 64biot machines.

2010-02-09 20:30 Marco Roveri <roveri@fbk.eu>

	* Modified code to call Expr_true/Expr_false, Expr_ite and
	  Expr_resolve instead of the corresponding find_node
	  functions. This to get rid of possible missing simplifications
	  not performed otherwise (e.g.  TRUE & <expr>, FALSE & <expr>,
	  TRUE | <expr>, FALSE | expr, ...).

2010-02-09 18:57 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  A/G for the kind of a signal and E/S for the kind of a
	  requirement caused assertion violation rather than printing an
	  error message.

2010-02-09 18:49 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CLEANUP + BUG FIX

	  testing is done.

2010-02-09 18:48 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR BUG FIX

	  1. SETIN is allowed to have boolean sets on both sides.  2. one
	  optimization is switched off to make benchmarking easier 3. now
	  detection of boolean from not-boolean take "next" and "init"
	  into account.

2010-02-09 16:14 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Added missing CATCH ... FAIL in print_reachable_states command.

2010-02-09 15:06 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  1. Catch buffer overflow *before it happens*.  2. The set of
	  chars in a NuSMV id is smaller for the first char than for the
	  rest.

	  Given that I don't see 1. for the first time please keep in mind
	  that catching a buffer overflow after the fact is worth only so
	  much...

2010-02-09 12:57 Andrea Micheli <amicheli@fbk.eu>

	* MISSING DOC

	  Added missing on-line documentation to command
	  print_reachable_states.

2010-02-09 12:53 Andrea Micheli <amicheli@fbk.eu>

	* NEW FEATURE

	  Added feature requested in tiket #1576
	  (http://es.fbk.eu/bugs/view.php?id=1576).

	  The command print_reachable_states is now able to output to any
	  file instead of on stdout only.

2010-02-09 12:29 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1570 (http://es.fbk.eu/bugs/view.php?id=1570)
	  changing wrong call to predicate_normalizer over a set of
	  specifications.

2010-02-09 12:26 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a problem in PredicateNormaliser_normalise_specification.
	  Fixed wrong use of typechecker over an invalid node.

2010-02-09 10:56 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  "resize" incorrectly specified bits.

2010-02-08 21:27 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX/COSMETICS

	  1. Fix likely bug on when warning for compassion should be
	  printed.  2. Code cleanup.

2010-02-08 20:36 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CLASS

	  First version of PredicateExtractor class which is supposed to
	  build predicates without predicate-normalizing the whole
	  expression.

	  1. Not tested, just compiled.  2. cluster extraction is not
	  implemented yet.

2010-02-08 20:34 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  1. union of complex boolean expression and int was incorrectly
	  normalized.  2. such expressions as "(exp mod 2) :: 0d5_0" were
	  incorrectly normalized 3. arguments of sizeof and wtoint were
	  not normalized.

	  4. a few warnings were removed, a few were added.

2010-02-08 17:22 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Anonymization is not implemented for games. Issue warning and
	  don't print when anonymization is requrested on a
	  game. Temporary in that ideally we would have anonymization also
	  for games.

2010-02-08 15:28 Roberto Cavada <cavada@fbk.eu>

	* BENCH Added parametric benchmarks runscripts for bmc simulation
	  Parameters are: * problem size * incremental/non-incremental
	  simulation * version-243 (only non-incremental) / latest version

2010-02-08 15:28 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX, COSMETICS

	  1. GOTO -> GAME times 2.  2. Code cleanup.

2010-02-08 12:25 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX / REFACTORING

	  Fixed bug with negative integers on 64 bits machine (see mantis
	  issues 1467 and 1552)

	  All code has been refactored in order to use NODE_FROM_INT
	  instead of custom casts

	  for example, from

	  find_node(NUMBER, (node_ptr)-1, Nil)

	  to

	  find_node(NUMBER, NODE_FROM_INT(-1), Nil)


	  ------------------------------ The system has been tagged:
	  before_node_from_int_mask_08022010

2010-02-08 09:12 Marco Roveri <roveri@fbk.eu>

	* Changed function RbcUtils_get_dependencies to build an Slist
	  instead of the more memory consuming lsList.

	  Modified code to use the new data structure.

2010-02-06 00:43 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIXES

	  1. Bug fix: if unary minus is applied to boolean then boolean
	  vars could appear in clusters.

	  2. Bug fix: if there is expression "bool(expr)" where expr is of
	  type word[1] then the expr could appear as predicate. Now (expr
	  = 0d1_1) is returned.

	  3. Bug fix: "expr mod 2" used as boolean was completely ignored
	  (in predicate/cluster computation). Now "(expr mod 2) = 1" is
	  returned.

	  4. A few warnings have been removed.

2010-02-05 20:23 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  New function Set_ReleaseSetOfSet to release set containing other
	  sets.

2010-02-05 17:19 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Give GamePlayer a file of its own. Original intent was to move
	  the declaration away from GameBddFsm.h to something more
	  sensibel.  The file of its own is a consequence of having to
	  avoid problems with include order.

2010-02-05 07:23 Marco Roveri <roveri@fbk.eu>

	* Fixed Tseitin RBC2CNF algorithm to use the new structure for
	  clauses.

	  WARNING: Interaction among the two conversion needs to be
	  investigated.

2010-02-04 17:56 Marco Roveri <roveri@fbk.eu>

	* - Modified RBC cnf conversion to generate a list of arrays of
	  integers instead of a list of list of generic pointers. Modified
	  all the places where the CNF was used to comply with the new
	  structure.  This will allow to save memory expecially on very
	  large models, and on 64bit machines.

	  - Modified the routine to remove redundancy in a clause by
	  avoiding the creation of node_ptr with only the purpose to use
	  it as a key for an hash table, and by avoiding the ceration of
	  NodeList_ptr as an hash table. This will allow for saving some
	  memory on very large models, expecially on 64bt machines.

	  - Added a new option rbc_rbc2cnf_algorithm with possible velues:
	  sheridan and tseitin, to choose the RBC2CNF conversion algorithm
	  at run-time. The default is sheridan.

	  Tseitin CNF conversion still not completely working. Assertion
	  failures are occurring. Please do not use it yet.

2010-02-04 16:55 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  New option -d of bmc_inc_simluate disable computation/printing
	  of defines in the traces.

2010-02-04 15:42 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING, DOCUMENTATION

	  - Moved gameGeneral.c::Game_ConstructStrategy to
	  GameStrategy.c::GameStrategy_construct - Documented GameStrategy
	  structure - Renamed GameStrategy_print to
	  GameStrategy_print_module

2010-02-04 12:55 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  incCoi.c: Fixed assertion when counter-examples generation is
	  disabled. Now when a property is found false at a certain
	  COI(k), the property is leaved unchecked, and the user is
	  warned. This fixes mantis issue #1558

	  bmcWrap.c: Bugfix -> Counter example was extracted from the
	  trace manager even if counter-example generation was
	  disabled. This was causing an assertion failure.

2010-02-04 12:08 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  write_reduced_model now takes additional option -d to disable
	  normal detection of ranges.  The option is supposed to be used
	  with -c to enable counter limits detection.

2010-02-04 07:56 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1555.

	  Reveeresed list of values to reflect low to high.

2010-02-03 22:48 Marco Roveri <roveri@fbk.eu>

	* - Fixed a double free of a list that caused seg-faults.

	  - Fixed range reduction guessing range from clusters of type
	  "counter" to perform intersection with the "standard" range
	  extraction only if both computed ranges are not flagged as
	  UNDEF. Otherwise bad ranges can be extracted (see
	  test/test_modelreduction/red27.smv)

	  - Fixed VarDomainIntersect to tag the result as undef if at
	  least one of the arguments is tagged as UNDEF.

2010-02-03 16:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CODE

	  Command write_reduced_model -c now can output an abstract FSM to
	  verify correctness of counter ranges. The code is very dirty and
	  disabled by default (with help of DEBUG_COUNTER_FSM_OUTPUT
	  define).

2010-02-03 16:48 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* INTERFACE CHANGE

	  Static function _compute_cluster_flat_hierarchy was renamed to
	  external function Compile_ComputeClusterFlatHierarchy.

2010-02-03 14:23 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Moved properties coi_size_sorting disabling from gameCmd.c
	  (read_rat_file) to gameFlatten.c::Game_CommandFlattenHierarchy,
	  as suggested by VS in mantis issue 1474.

	  Now the coi size sorting is always disabled when using game
	  addon parts.

2010-02-03 13:36 Marco Roveri <roveri@fbk.eu>

	* Added option -c "constr" to the command bmc_inc_simulate.

	  The constr is a next expression that can contain, current, input
	  and next state variables. It specifies a constraint over the
	  transition relation to follow during simulation.

	  The simulation stops ither when the number of steps has been
	  reached, ot if it is not possible to extend the trace in
	  agreeement with the specified constraint.

2010-02-02 19:19 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIX

	  Some compilers (and C Standard) does not allow to use unpaired '
	  or " in warnings.  For example, #warning here's a problem
	  creates problems for some compilers.  Do no write such things!

2010-02-02 15:22 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BIG FIX + NEW FEATURE

	  In function Trace_is_complete which checks a trace for being
	  complete: 1. bug is fixed. inputs of the state before last were
	  ignored before.  2. Now function outputs a message telling which
	  var is missing.

2010-02-02 13:42 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leaks.

2010-02-02 10:09 Andrea Micheli <amicheli@fbk.eu>

	* Fixed issue # ().

	  Added two new functions in parserUtil.c to handle
	  next_expression with NEXTWFF token and rolled back SIMPWFF to
	  handle only simple expressions.

	  In every point where old SIMPWFF were called I substituted it
	  with NEXTWFF where necessary and I placed a #warning [AMi] where
	  unsure.

	  Several TABS has been removed from encountered files.

	  NOTE: The whole systen was tagged before this commit with name
	  'before_adding_nextwff_02012010'.

2010-02-02 09:47 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1534 (http://es.fbk.eu/bugs/view.php?id=1534) in
	  ltlRewrite.

	  Frozenvars were not handled because of a missing case in
	  recursive formula exploration.

2010-02-01 15:29 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  SymbTable_get_symbol_category was misbehaving with some defines
	  due to an unexpected memoization hit result.

2010-02-01 14:08 Viktor Schuppan <schuppan@fbk.eu>

	* REFACTORING

	  Most of first part of making strategies first class citizens.

	  They have a class of their own now with corresponding accessor
	  functions.  To complete this step
	  gameGeneral.c::Game_ComputeStrategy should be moved to
	  GameStrategy.c, too.

2010-01-30 15:17 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  A word variable now always has UNSIGNED_WORD encoding
	  independent of signness.  It is necessary to check var type to
	  get the sign.

2010-01-30 05:00 Marco Roveri <roveri@fbk.eu>

	* Integrated the new extraction of the model. THe old one still
	  there and can be re-enabled at compile time by setting to 1 the
	  define OLD_MODEL_EXTRACTION.

	  With this new approach we get the following results on the small
	  example in the the test/bmc_simulate directory (62 vars):

	  NEW_INC_NEW_MODEL NEW_INC_OLD_MODEL NON_INC Steps 10 : 0.081s
	  0.098s 0.093s Steps 100 : 0.145s 0.302s 0.256s Steps 1000 :
	  1.125s 3.155s 3.960s Steps 5000 : 11.015s 36.969s 55.773s Steps
	  10000 : 44.332s 2m15.954s 3m21.083s

	  Memory is not reported here, although it has also a role. But
	  NEW_INC_NEW_MODEL is the one consuming less memory, while
	  NON_INC is the more expensive.

2010-01-29 22:25 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  New function Bmc_Conv_get_BeModel2SymbModel to convert BE model
	  into Symbolic Expressions.

2010-01-29 17:25 Marco Roveri <roveri@fbk.eu>

	* First working version of bmc_inc_simulate that performs stepwise
	  simulation exploiting the incremental solver.

	  Minimal testing shows it works without crash. However, more
	  testing is needed and it is in place.

2010-01-29 13:35 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Typo caused wrong beahviour when invoking typechecker.

2010-01-29 13:14 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Added test case for issue 0001536: A new option for simulation
	  is needed.

2010-01-29 13:09 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  fixed a typo in the header file.

2010-01-29 12:50 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEATURE]

	  Added -t option to BDD and MSAT simulation commands to allow the
	  user to specify next_expression constraints on the TRANS for
	  simulation.

	  REMARK: -t and -c options are exclusive.

	  Final testing before building new executables for the COMPASS
	  project.

2010-01-28 21:25 Marco Roveri <roveri@fbk.eu>

	* - Fixed a missing variable initialization that resulted in
	  unhalled expression even though it was supposed to be
	  handled. (causing thus assertio failure). Added proper error
	  message instead of the simple assert(false).

	  - Fixed a break before assigning the value within a switch
	  statement.

2010-01-28 16:43 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Simulation (bdd-based only) handles now inputs in
	  constraints.

2010-01-28 16:42 Roberto Cavada <cavada@fbk.eu>

	* INTERFACE

	  Changed the type of cosntraint parameter of
	  BddFsm_get_constrained_backward_image and
	  BddFsm_get_constrained_forward_image_states_inputs to be
	  BddStatesInputsNexts instead of BddStatesInputs

2010-01-28 13:53 Roberto Cavada <cavada@fbk.eu>

	* TEST 1532

	  Test for msat simulation internal error See
	  http://es.fbk.eu/bugs/view.php?id=1532

2010-01-28 12:21 Alessandro Mariotti <mariotti@fbk.eu>

	* Removed previous bugfix of the trace generation, and attached
	  warnings. Defines where not correctly evaluated if the defines
	  body was not normalized (created using find_node).

	  The bug has been fixed in the latest commit of Expr.c, and the
	  define body normalization is no longer necessary

2010-01-28 12:12 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed Expr_gt and Expr_simplify_gt.

	  When used with words, these two functions were using
	  WordNumber_greater_equal instead of WordNumber_greater_than

2010-01-28 11:56 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  - Fixed the function swap parameter - Detect if the constraints
	  contain non parametric variables

2010-01-28 09:56 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1519 (http://es.fbk.eu/bugs/view.php?id=1519). The
	  obfuscation is now performed in printers. The time explosion was
	  caused by the re-evaluation of defines in anonymized trace
	  construction.

	  A flag has been added to trace plugin interface to control
	  wheter or not the anonymization has to be performed.

	  Every trace printer has been updated to perform obfuscation if
	  the flag is set to true.

	  The whole system was tagged before this commit since the changes
	  are important.  The tag name is
	  before_adding_obfuscation_option_to_printers__28012009

2010-01-27 17:37 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  The SymbTable_get_symbol_category was not treating next
	  expressions of constants as next expressions. With the wrong
	  category, defines were not placed in the correct section in the
	  trace, and the sat based trace execution was resulting in an
	  assertion, because it found 2 nested next operators

	  An ad-hoc memoized function has been written for extracting the
	  category of a define. The new function also speeds-up a bit the
	  trace printing

2010-01-27 17:33 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed wrong define evaluation performed. The Define body was not
	  completely created with find_node, which was leading to an
	  incorrect define value evaluation, causing the trace not to be
	  compatible with the model, even if compatible.

	  A call to node_normalize has been added

2010-01-27 14:43 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Remove non-existing counters.h

	  [VS],

2010-01-27 14:06 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  This commit fixes issue #0001521: "command _show_help crash
	  NuSMV". The crash was due to relying on the existence of certain
	  data structures without the appropriate pre-requisite checks.

	  The fix involved commands:

	  _normalize_expr msat_check_fp_bmc

	  This have all been fixed w.r.t. this issue, _show_help now
	  completes ok.

2010-01-27 13:47 Marco Pensallorto <pensallorto@fbk.eu>

	* [HELP] Fixed system help for command chec_invar_bmc_inc,
	  providing information about the -s option (strategy selection
	  for closure).

	  this commit fixes issue #1509: "Command check_invar_bmc_inc
	  misses short help for option -s"

2010-01-27 13:34 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Added support for defines into -c option for msat_simulate
	  algorithms.

2010-01-26 23:04 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1526

	  The hash for dagifing the model in function
	  Compile_WriteRestrictedFlattenModel were static and initialized
	  only the first time the function was called. Different calls
	  with different FSMs were thus resulting in possibly wrong
	  models. The drawback of this fix is that for the same
	  sub-expression in different generated file will result in DEFINE
	  __expr<num> with different numbers.

2010-01-26 15:03 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1518 (http://es.fbk.eu/bugs/view.php?id=1518) in Bdd
	  encoder. Now defines of type enumerative are not skipped any
	  more because we check the booleanizability of a symbol using
	  Expr_is_booleanizable instead of using the typechecker which
	  performs promotion to unbounded integer value.

2010-01-26 15:02 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEATURE]

	  Added -c option to _msat_simulate. This option allows the user
	  to specify an extra TRANS constraint. The expression must be a
	  simple expression (i.e. no NEXT allowed in it).

2010-01-26 14:58 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a problem in formulaGetConstantsRecur caused by wrong
	  symbol lookup in the SymbolTable.

2010-01-26 14:30 Alessandro Mariotti <mariotti@fbk.eu>

	* Added control: If the we reached the COI fixpoint, and the
	  result is still spurious, the user is warned and the property
	  status is set to unchecked.

2010-01-26 13:20 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Added timed bitmasks to expressions encoded into
	  msat_terms. This commit is a temporary fix to issue #0001515:
	  "MathSAT based (S)BMC algorithms performing also closure could
	  benefit from the use of mask."

	  The fix consists in conjucting to the original expression to be
	  encoded, all the bitmasks timed (t0 .. t1). Where t0 is the
	  minumum time present in the formula, t1 is the maximum time.

	  This solution is far from being optimal, as the same bitmask can
	  be repeatedly added to the same problem. However an optimal
	  solution to this problem would require a dedicated MSatFSM
	  structure which is currently not available.

	  (thanks to MR for the discussion on this point.)

2010-01-26 13:12 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1522 (http://es.fbk.eu/bugs/view.php?id=1522). The
	  problem was in a shift without the proper cast to (unsigned long
	  long).

2010-01-26 13:03 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTORING A COMMAND

	  Command _write_pred_clusters_model has been re-implemented and
	  extended.  1. new option -n to specify cluster numbers to output
	  was added.  2. option -f was added to output FSM model,
	  i.e. make it independent from -o 3. option -c is now independent
	  of -o and take an argument.  4. option -v to specify var names
	  has NOT been implemented properly.

2010-01-26 12:29 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix bug 1520: change return type of
	  BddFsm_get_monolithic_trans_bdd from BddStatesInputs to bdd_ptr.

2010-01-25 19:47 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  function Set_Intersects is added. It returnes true iff two sets
	  have at least one element in common.

2010-01-25 18:59 Marco Roveri <roveri@fbk.eu>

	* Fixed a bug due to the use of the wrong function to acces the
	  map associating the range to the variable. Tested on small
	  examples it works. The test on larger examples has not yet been
	  tested.

2010-01-25 18:51 Marco Roveri <roveri@fbk.eu>

	* Added additional test for counter range detection. Modified the
	  script also to run on all the files the checks with -c option to
	  write_reduced_model

2010-01-25 17:44 Marco Roveri <roveri@fbk.eu>

	* Temporary fixed problem related to handling invars of the form x
	  = uwconst(N,0) that where not handled properly after the
	  simplifications applied to Expr_le that was reducing x <=
	  uwconst(N,0) & uwconst(N,0) <= x to x = uwconst(N,0) &
	  TRUE. However, the routines that new routines that compute the
	  ranges are expecting expressions of the form expl <=
	  expr. Extending them to properly handle the x = uwconst(N,0) is
	  too time consuming now. Thus Expr_le has been temporarily
	  replaced with find_node(LE, exprl, exprr).

2010-01-25 17:03 Marco Roveri <roveri@fbk.eu>

	* - Fixed option -g to properly add the invariants corresponding
	  to extracted ranges - Added new option -c to write_reduced_model
	  to perform also the guessing of counters using data clusters

	  Compiles, but not yet properly tested. So failures may arise
	  while using these options.

2010-01-25 15:12 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Fixed the function reorder_expr_time to be able to handle
	  constraints with multiplication.

2010-01-25 14:47 Marco Roveri <roveri@fbk.eu>

	* Refactored code for extracting invariants using counter patterns
	  from the clusters. Two top level methods:

	  * Simp_detect_counter_invariants that simply extracts a set of
	  invariants.  * Simp_detect_and_check_counter_invariants that
	  extracts a set of invariants that are guaranteed to hold on the
	  original model. It first calls Simp_detect_counter_invariants
	  and filter this set to consider only those invariants that have
	  been proved to hold on the model. it does this check with SAT
	  BMC dual algorithm. If option use_inc_coi is specified, then it
	  tries to verify the property using incremental coi algorithms.
	  * Promoted command _detect_counter_invariants to
	  detect_counter_invariants * By default detect_counter_invariants
	  just prints the invariants each on a line.  * Added option -c to
	  detect_counter_invariants to enable the check, and also option
	  -i to enable the use of incremental coi (at this time this is
	  still experimental). These options assume the go_bmc command has
	  been executed before.

	  Added a fake option -g to also add proeprties related to the
	  extracted ranges to the property database, thus further
	  write_flat_model will contain this invariants. (This option is
	  not yet fully implemented and will result in assertion failure
	  if used now. Further commit will eliminate this problem).

2010-01-25 13:09 Andrea Micheli <amicheli@fbk.eu>

	* Added option to BddEnc_print_set_of_states to printout defines,
	  and added analogous option to print_reachable_states command via
	  BddFsm API.

	  This option is not enabled by default and doesn't work for
	  enumerative defines because of bug #1518
	  (http://es.fbk.eu/bugs/view.php?id=1518) in
	  BddEnc_assign_symbols function. Anyway the code doesn't crash
	  ignoring such defines.

2010-01-25 10:42 Andrea Micheli <amicheli@fbk.eu>

	* Added an additional control to prevent NULL pointer in
	  Trace_get_loopbacks function.

	  This commit should fix bug #1504
	  (http://es.fbk.eu/bugs/view.php?id=1504) but feedback is needed
	  before closing it.

2010-01-25 09:53 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed _predicate_abstraction_simp command adding -m option to
	  printout the map of rewrites and fixed problems with defines in
	  the original model. Now the algorithm expands the FlatHierarcy
	  using PredicateNormalizer to get rid of defines.

2010-01-24 14:37 Marco Roveri <roveri@fbk.eu>

	* Final integration for the support of range reduction with
	  contraints specified over INVAR. The computed range is now
	  restricted to the range specified in the INVAR constraints.

	  i.e. for a file of the form VAR x : Word[32]; ASSIGN init(x) :=
	  0ud32_0; next(x) := case i & x < 0ud32_10 : 0ud32_1 + x; i & x =
	  0ud32_10 : x; !i : 0ud32_0; esac;

	  INVAR x <= 0ud32_10

	  it extracts the proper and expected range 0..10.

	  In the case:

	  INVAR x <= 0ud32_10 & x >= 0ud32_5

	  It computes the range as [5..10].

2010-01-22 18:49 Marco Roveri <roveri@fbk.eu>

	* Partial integration for the support of range reduction with
	  contraints specified over INVAR. The computed range is too
	  overapproximated, and further reduction are needed to make it
	  smaller.

	  i.e. for a file of the form VAR x : Word[32]; ASSIGN init(x) :=
	  0ud32_0; next(x) := case i & x < 0ud32_10 : 0ud32_1 + x; i & x =
	  0ud32_10 : x; !i : 0ud32_0; esac;

	  INVAR x <= 0ud32_10

	  it overapproximate it to 30 instead of considering only values
	  0..10.

2010-01-22 14:35 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed several problems in free input propagation: now the
	  algorithm works on an 'expanded' FlatHierarchy, namely on a
	  machine with expanded defines. This allows the correct algorithm
	  execution even with cross-define simplifications. The expansion
	  of the hierarchy is done using PredicateNormalizer to avoid
	  memory problems.


	  LocalWords:

2010-01-22 12:41 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX (compileCmd) Fixed mantis issue #1508

	  COSMETICS (imcCmd) Added some missing functions docs

2010-01-22 11:00 Alessandro Mariotti <mariotti@fbk.eu>

	* NEW COMMANDS


	  - Renamed command check_ltlspec_inc_coi to
	  check_ltlspec_inc_coi_bdd - Renamed command check_invar_inc_coi
	  to check_invar_inc_coi_bdd

	  - Added command check_ltlspec_inc_coi and check_invar_inc_coi,
	  which take as arguments the engines to be used for property
	  verification and trace re-execution

	  NB: Command names need to be discussed

2010-01-22 10:39 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEATURE]

	  Added experimental command _detect_counter_invariants to extract
	  invariants for counters. Very early, needs more work.

	  (committed in urgency)

2010-01-22 00:47 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1483

	  The fix consist in checking whether we are at the top level of
	  the recursion with a set {0,1} or if we are at the end of
	  recursion with such set to encode. In the first case we do not
	  create the bit, in the second we do.

2010-01-21 23:37 Marco Roveri <roveri@fbk.eu>

	* BUGFIX #1506: Now the list of fairness constraints is taken from
	  the FSM associated to the property and not form the global bool
	  fsm.

2010-01-21 21:15 Marco Roveri <roveri@fbk.eu>

	* Called Expr_<op> instead of find_node(<op>...

	  Added a warning for AMa to possibly rewrite some part of the
	  code to use Expr_ite instead of find_node(CASE,
	  find_node(COLON...

2010-01-21 19:53 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1501

	  Added rules below not only to the simplifying version of the
	  operators LE and GE:

	  *) 0ud<size> <= expr should reduce to TRUE *) expr >= 0ud<size>
	  should reduce to TRUE *) <unsigned_word> <= 0ud<size>_0 should
	  reduce to <unsigned_word> = 0ud<size>_0 *) 0ud<size>_0 > =
	  <unsigned_word> should reduce to 0ud<size>_0 = <unsigned_word>

2010-01-21 19:27 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1501 (Partial)

	  Added rules for:

	  *) 0ud<size> <= expr should reduce to TRUE *) expr >= 0ud<size>
	  should reduce to TRUE *) <unsigned_word> <= 0ud<size>_0 should
	  reduce to <unsigned_word> = 0ud<size>_0 *) 0ud<size>_0 > =
	  <unsigned_word> should reduce to 0ud<size>_0 = <unsigned_word>
	  *) <expr> op 0 = <expr> (for words and any other num) with op in
	  {+,-} *) 0 + <expr> = <expr> (for words and any other num) *) 0
	  - <expr> = - <expr> (for words and any other num) *) <expr> * 0
	  = 0 (for words and any other num) *) 0 * <expr> = 0 (for words
	  and any other num)

2010-01-21 15:48 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed issue #1498: SimpLtl.c was not syncronized with ltl.c.

	  The variables of the FSM where not declared also in the tableau
	  hierarchy. Adding the variables solves the problem.

2010-01-21 14:31 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed missig copy of constants in simp_simb_table_copy.

2010-01-21 13:41 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEATURE]

	  Added command print_formula that helps inspecting a given
	  formula by printing:

	  1. The number of satisfying models for the formula;
	  2. (optionally) the set of explicit satisfying models;
	  3. (optionally) the formula in a canonical format;

	  The formula can be a generic TRANS-like expression (i.e. it can
	  contain STATE, INPUT and NEXT_STATE vars).

2010-01-21 12:10 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  CONCATENATION operator has not been taked into account.

2010-01-21 10:19 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed possible assertion failure caused by a wrong NULL pointer
	  in free input propagation.

2010-01-21 10:10 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed missig precondition check in _predicate_abstraction_simp
	  command.

2010-01-21 10:05 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Changed wrong default in _write_pred_clusters_model command
	  which caused generation of CEGAR test files instead of enabling
	  cluster generation.

2010-01-20 14:38 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed BddEnc_print_set_of_states to avoid printout of bits.

2010-01-20 13:10 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEATURE]

	  Added option -f to print_reachable_states to print the set of
	  reachable states as a daggified wff. Daggification parameters
	  can be controlled as usual, via system variables
	  daggifier_counter_threshold and daggifier_depth_threshold.

2010-01-19 13:31 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Solved mantis issue 1474: Properties COI size sorting was left
	  enabled if using the GAME addon, which does not create a
	  flathierarchy, necessary for computing the COI of a
	  property. COI size sorting is now disabled if using GAME
	  (actually, it is disabled when using the read_rat_file
	  command). The user is warned about the issue.

2010-01-18 17:06 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leak.

2010-01-18 15:56 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Added support for a few previously unsupported operators in
	  incremental sbmc ltl checking via MathSAT.

	  Support for the following operators has been added:

	  - SETIN - CAST_BOOL - MOD 2 (which is treated as a predicate)

	  This commit fixes issue #1477.

2010-01-18 15:13 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed interpolant groups creation. When a bug is found in the
	  third+ state, the groups were not correctly updated.

2010-01-18 14:58 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX + FEATURE]

	  - This commit fixes issues #1469 and #1484.  - cosmetics (mostly
	  whitespaces)

	  - Added McMillan interpolants invariant checking algorithm.
	  (still testing.)

2010-01-18 14:28 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed some potential buggy calls to
	  Prop_master_get_scalar_sexp_fsm.

	  The function was called before checking if any model was built
	  using flatten_hierarchy & build_flat_model

2010-01-18 00:43 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Initialize game_sf07_gba_wring_has_cc with default value rather
	  than false.

2010-01-17 23:31 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1479.

	  Now if the transition relation contains a contraint of the form
	  InputVar = Const, the InputVar is transformed into a DEFINE
	  InputVar := Const, and the model is simplified accordingly.

2010-01-15 14:49 Andrea Micheli <amicheli@fbk.eu>

	* Added command 'crmc_check_proof_objectives' in crmc package to
	  perform model checking of property nodes with bdd, sat or smt
	  tecniques.

	  This new command is still under development and has to be
	  tested.

2010-01-15 10:56 Alessandro Mariotti <mariotti@fbk.eu>

	* Added test script for IMC - Incremental COI. The test runs on
	  all example/test models. It reports all models that crash
	  (int.error/assertion/segfault) using BDD/SAT/SMT based
	  Incremental COI algorithm

	  - It does NOT check the correctness of the results -

2010-01-14 20:44 Viktor Schuppan <schuppan@fbk.eu>

	* Fix problem due to a missing change from ARRAY to ARRAY_TYPE
	  when modified the way arrays were handled by the flat_hierarchy
	  command.

	  MR+

2010-01-14 18:28 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leaks.

2010-01-14 18:19 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Handle sets of vars as non-shared/deep copies. That makes fixing
	  resulting memory leaks easier.

2010-01-14 18:17 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leak.

2010-01-14 18:15 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leaks.

2010-01-14 17:17 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Memory leak.

2010-01-14 15:13 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix memory leaks.

2010-01-14 01:39 Marco Roveri <roveri@fbk.eu>

	* BUGFIXING (#1472,#1473) and refactoring

	  - Refactored common code in fixpoint coi and coi at given depth.

	  - Added memoization on refactored code.

	  - Fix for problem #1473. Now it is no longer the case the fix
	  point cone for all variables is computed by the coiInit()
	  function. Now it does some initialization only computing coi at
	  depth 0 only. The coi for variables is computed on demand and
	  memoized for further calls.

	  - Fix for problem #1472. Now the cone is more restricted. Not
	  needed variables previously added to the cone of variables when
	  INIT/TRANS/INVAR appears now are no longer in the code of
	  variables.

	  The two fixes can be switched off by commenting the #define
	  NEW_COI macro within the compileInt.h file. Additional testing
	  is needed.  Currently the two fixes are strongly interconnected.

	  If we want simply to fix #1472 then the coiInit() code compiled
	  when NEW_COI is not defined need to be strongly revised.

2010-01-14 00:26 Marco Roveri <roveri@fbk.eu>

	* Fixed a problem that occurred with command write_coi_model if no
	  output file is specified. Now by default if no file is specified
	  the output is printed to nusmv_stdout.

2010-01-13 19:50 Viktor Schuppan <schuppan@fbk.eu>

	* NEW FEATURE

	  Add resorting to LTLGAME in the translation from Ratsy to NuSMV
	  when a specification is not translated into GR(1).

	  Disabled by default to preserve semantics just in case. To
	  enable #define the correspondin macro.

2010-01-13 17:03 Marco Pensallorto <pensallorto@fbk.eu>

	* [TESTING]

	  Added test case for issue #1469, "FROZENVARs cause assertion
	  failure with interpolation sequence invariant checking"

2010-01-13 13:16 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Add missing bdd_dup.

	  [MR],[MP],

2010-01-12 16:39 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Added local support for expr mod 2 in the MSatEnc translation
	  using the booleanizer. Tentative fix. To be tested.

2010-01-12 16:38 Marco Roveri <roveri@fbk.eu>

	* Fixed bug in hy_comp_symbols_map_project_substitute_var: the
	  function was not accepting expressions different from
	  comparisons.  [ST+SM]

2010-01-12 13:59 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Move declaration of loop variables out of for.

	  Thanks to MR for pointing out the problem.

2010-01-12 11:06 Marco Roveri <roveri@fbk.eu>

	* - Fixed freeing of allocated memory - Added method to create the
	  BDD fsm for the proof objective problem - Added method to create
	  the BE fsm for the proof objective problem - Minor bug fixing in
	  the printing of debugging information

2010-01-11 20:36 Viktor Schuppan <schuppan@fbk.eu>

	* BUG FIX

	  Fix wrong strategies by "composition by printf" of the monitor
	  and the strategy in the product of the model and the monitor.

2010-01-11 15:23 Viktor Schuppan <schuppan@fbk.eu>

	* NEW FEATURE

	  Add first version of SF07/FJR09 LTL synthesis algorithm.

	  Note: the strategy constructed as of now is buggy. The monitor
	  needs to be part of the final strategy. To be fixed next.

2010-01-11 15:07 Viktor Schuppan <schuppan@fbk.eu>

	* NEW FEATURE

	  Introduce new keyword LTLGAME into the language. Please let me
	  know if this causes problems.

	  To be documented in user man.

2010-01-11 14:17 Viktor Schuppan <schuppan@fbk.eu>

	* NEW FEATURE

	  Add synchronous product of two GameBddFsms.

2010-01-11 13:33 Andrea Micheli <amicheli@fbk.eu>

	* Added _predicate_abstraction_simp command which performs a
	  simplified rewrite of the model abstracting the predicates of
	  the clusters in fresh boolean variables which are related by
	  computed invariants using BDDs. This command is still
	  experimental.

2010-01-11 13:19 Andrea Micheli <amicheli@fbk.eu>

	* Added some test cases for _predicate_abstraction_simplification
	  command which has still to be committed.

	  Still missing test script.

2010-01-11 13:10 Marco Roveri <roveri@fbk.eu>

	* WARNING

	  Add warning [MRRC].

	  [VS],

2010-01-11 13:07 Marco Roveri <roveri@fbk.eu>

	* BUG FIX

	  Add layers to classes.

	  [VS],

2010-01-11 13:01 Viktor Schuppan <schuppan@fbk.eu>

	* NEW FEATURE

	  Add options for sf07 LTL game algorithm.

2010-01-11 12:57 Viktor Schuppan <schuppan@fbk.eu>

	* NEW FEATURE

	  Add method to extract directoy part of a path.

2010-01-09 16:01 Marco Roveri <roveri@fbk.eu>

	* BUGFIX/FEATURE

	  Implement the fix suggested by MR to bug 1466.

	  [VS],

2010-01-08 16:08 Alessandro Mariotti <mariotti@fbk.eu>

	* Added buggy variables extraction to smt partial trace execution
	  when execution fails. Variables are extracted using unsat-core
	  or interpolants.

	  Incremental COI can use these variables for refining the set of
	  variables used for building the incomplete FSMs

	  use the -i or -u options of the msat_check_invar_inc_coi or
	  msat_check_ltlspec_inc_coi

2010-01-08 01:56 Marco Roveri <roveri@fbk.eu>

	* - Fixed bug in the property of the proof objective

	  - Added printing of the model checking problems corresponding to
	  the proof objectives to different files. For assumptions a fake
	  file is created and its verification returns that the fake
	  property holds.

2010-01-08 01:53 Marco Roveri <roveri@fbk.eu>

	* Fixed examples and added a small example script for generating
	  the SMV files corresponding to the model checking problems for
	  the verification of the proof objectives.

2010-01-07 15:46 Marco Pensallorto <pensallorto@fbk.eu>

	* EXPERIMENTAL

	  In order to reduce code duplication I am trying a new silent
	  exposure protocol to support high-level primitives for model
	  checking as an internal service.

	  Testing with msat_check_invar_inc_coi.

2010-01-07 13:14 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  This commit fixes issue #1348: expressions are required to be
	  predicates (i.e. boolean type expressions) to perform
	  normalization and simplification.

2010-01-06 19:09 Marco Roveri <roveri@fbk.eu>

	* - Bug fixing - Addition of a new command "_crmc_print_problems"
	  for testing to print the SMV file corresponding to the
	  verification of the proof objective. Still buggy!

	  Marco

2010-01-06 02:02 Marco Roveri <roveri@fbk.eu>

	* - Fixed several bugs - Added additional checks required by the
	  approach - Initial implementation of the property extraction
	  from the proof graph

2010-01-05 10:14 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed CEGAR issue #1462
	  (http://es.fbk.eu/bugs/view.php?id=1462).  The function
	  'BddEnc_print_set_of_states' now obtains the list of variables
	  from the committed layers instead of searching in the whole
	  SymbolTable.

2010-01-05 00:27 Marco Roveri <roveri@fbk.eu>

	* - Created routine for building proof graph from the file -
	  Renamed command _crmc_read_proof_graph to
	  _crmc_check_proof_graph - Fixed several bugs in the proof graph
	  data structure and on the checks

2010-01-05 00:22 Marco Roveri <roveri@fbk.eu>

	* Addes some tests for compositiona reasoning aiming to identify
	  correct, and not valid proof graphs. To test them use the
	  folowing sequence of commands.

	  read_model -i crmc.smv go _crmc_check_proof_graph -f
	  <file>.proof

2009-12-30 14:21 Marco Roveri <roveri@fbk.eu>

	* - fixed grammar for proof graph - fixed some memory leaks in the
	  proof graph support structures - added checks on the structure
	  of the proof graph - added printing routines of the proof graph
	  - added a command to read the proof graph from a file

	  Not yet linked and working. Just for backup.

2009-12-29 18:32 Marco Roveri <roveri@fbk.eu>

	* NEW FEATURE:

	  Compositional Reasoning as described in "Circular compositional
	  reasoning about liveness" by K. McMillan.

	  Preliminary files for supporting data structure. Not yet linked
	  to the top level, and top level not yet implemented. Just for
	  backup purpose.

2009-12-29 13:30 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added test case for issue "0001456: Dual algorithm in
	  msat_check_invar_bmc crashes on simple example"

2009-12-29 12:40 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added test cases for issue "0001457: Several issue with
	  interpolation".

2009-12-28 14:40 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX + COSMETICS

	  Fixed a bug that caused wrong construction of incremental BMC in
	  in mathsat based interpolation sequence model checking
	  algorithm.

	  Fixed verbosity in BMC construction for easier debugging.

2009-12-23 14:47 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Committed suggested patch to MathSAT based intepolation
	  sequence.  This commit shows issues of interpolants when reals
	  are involved.

2009-12-22 12:02 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a small time related bug in old interpolation
	  implementation. Now looks a bit more stable.

2009-12-21 18:01 Yusi Ramadian <ramadian@fbk.eu>

	* BUGFIX

	  Renamed some function names to fix the bug ID 0001455 in CEGAR.

2009-12-18 17:57 Yusi Ramadian <ramadian@fbk.eu>

	* BUG FIX

	  Fixed and modified function
	  MSatBmc_SolveInvar_falsification_incremental_step.  Bugfix :
	  previously it could not find the falsification. push and pop
	  mathsat encription lines are added to fix this.  Modification :
	  - added print out of trace execution sequence for verbose option
	  - added the ability to rewrite property when required (copied
	  verbatim from the function
	  MSatBmc_SolveInvar_falsification_incremental)

2009-12-18 16:17 Marco Pensallorto <pensallorto@fbk.eu>

	* INTERPOLATION

	  - Added a bound specification via the command.  - Turned to
	  incremental fixpoint calculation.

2009-12-18 14:32 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  BoolEnc_get_values_bool_encoding was returning BITS variables
	  even if the given domain for the variables was a boolean domain
	  ({0,1} or {TRUE,FALSE}).

	  Now the domain is checked, and if the domain is boolean, a
	  simple ATOM variable is returned

	  This fixes mantis issue 1447

2009-12-18 11:07 Andrea Micheli <amicheli@fbk.eu>

	* Removed -c option to _free_input_propagation command which was
	  not correct. Now the only behavior of the command is to take
	  into account atoms of properties during algorithm execution.

	  More testing is needed to cover at least every property type.

2009-12-18 02:25 Marco Roveri <roveri@fbk.eu>

	* - Added better support for constraints over input variables: -
	  Added support for ivar = const - improved support for < and for
	  > - if the range is inconsistent, than a message is shown to the
	  user

2009-12-17 19:19 Marco Pensallorto <pensallorto@fbk.eu>

	* INTERPOLATION

	  - performance optimizations, hopefully correct :) removed an
	  expensive step of fixpoint calculation.

	  - temporarily commented out a bit of cleanup code for testing.
	  Still investigating on this.

2009-12-17 16:54 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added early implementation of interpolation-sequence model
	  checking based on SMT as described in Y. Vizel, O. Grumberg.

	  To use it:

	  go_msat msat_check_invar_bmc -a interp_seq

	  Remark: This is very experimental and is known to be unstable

2009-12-17 16:40 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX # 1449

	  Now the code can deal with symbolic constant represented with
	  DOT.  (Normal symbolic constants are ATOM, but artificial one
	  may have DOT).

2009-12-17 15:23 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  pre-conditions for trace execution (partial & complete) were not
	  correctly handled:

	  When the Trace_execute_trace and Trace_execute_partial_trace
	  were using the global FSMs, the check was internally performed.

	  Now that the 2 functions take the FSMs as argument, the check is
	  done by the command

2009-12-17 15:16 Andrea Micheli <amicheli@fbk.eu>

	* Added support for properties in free input propagation. The
	  properties can be taken into account or simply rewritten using
	  the -c option.

	  Fixed a bug in simp_cleanup_hierarchy function.

2009-12-17 15:06 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed Mantis issue #1437.  A call to Compile_FlattenSexp has
	  been added in the MSatEnc_expr_to_term.

	  Now useless similars calls have been removed where necessary

2009-12-17 12:57 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Added control for command pre-conditions (BDD: go / BMC: go_bmc)

2009-12-17 12:47 Andrea Micheli <amicheli@fbk.eu>

	* Fixed some minor bugs and added optimizations to generated
	  FlatHierarchy in free_input_propagation. Now a TRANS rewritten
	  in a single fresh variable, is omitted; the same for
	  ASSIGNments.

	  Still missigng rewrite of properties since under discussion on
	  mantis (See bug #1446 http://es.fbk.eu/bugs/view.php?id=1446)

2009-12-17 12:31 Alessandro Mariotti <mariotti@fbk.eu>

	* Added error message for the write_coi_model command.

	  if a property was specified using the -p "expr" option, but no
	  property type was specified, only the command usage was printed
	  out.  Now an error message is shown

2009-12-16 17:36 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* OPTIMIZATION

	  A symbol table now has a hash to record simplifications done by
	  Expr_simplify, i.e. now the simplification results are memoized
	  globally.  The hash is reset whenever a layer is removed.

	  It is responsibility of Expr_simplify invoker to guarantee that
	  between simplifications expressions are not freed (otherwise
	  hashed values may be incorrect).

2009-12-16 17:06 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed mantis issue 1444. Now enumeratives found with only one
	  value are promoted to defines

2009-12-16 16:32 Alessandro Mariotti <mariotti@fbk.eu>

	* Added support for the BMC engine

	  2 new commands have been added: check_invar_inc_coi_bmc
	  check_ltlspec_inc_coi_bmc

2009-12-16 12:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* OPTIMIZATION + COMMENTS FIX

	  1. if artificial var IS_INIT_STATE is not used then it is not
	  output.  2. Comments are fixed and IS_FIRST_STATE was renamed to
	  IS_INIT_STATE.

2009-12-16 12:07 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  1. write_simplified_model2 could loose "next" in some
	  expressions. This bug is fixed.

	  2. optimization is added to process init(a) := b; the same as
	  init(a) := exp1; init(b) := exp1;

2009-12-16 10:22 Andrea Micheli <amicheli@fbk.eu>

	* Updated free input propagation to handle init and next. Now the
	  unconstraining is performed in a more reasonable way.

	  Several bugs fixed.

2009-12-16 00:26 Marco Roveri <roveri@fbk.eu>

	* - Added support for bitwise AND/OR among words to compute ranges

	  - Fixed a small problem that was causing ranges over input
	  variables to be not used while computing ranges for state
	  variables. In the example below, the variable y was not
	  recoded. Now it is recoded as well as x.

	  MODULE main IVAR x : word[4]; VAR y : word[4]; TRANS x <= 0ud4_3
	  & x >= 0ud4_1; ASSIGN init(y) := 0ud4_0; next(y) := x;

2009-12-16 00:01 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: A missing condition for constants was missing. This was
	  creating problems while writing any models (flat, simplified,
	  anonymized, ...).

2009-12-15 14:06 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* PERFORMANCE FIX

	  Removed a function call which was 1. useless 2. invoked
	  recursively on the same expressions multiple times.

2009-12-15 14:04 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* VERBOSITY ADDED

	  In BDD evaluation now

	  * with verbosity = 4 every expressions is output before/after
	  BDD evaluation.  * with verbosity = 5 for every assignment info
	  about the final BDD AND operation between bits is additionally
	  output.

2009-12-15 13:56 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed mantis issue 0001438.

	  Trace_execute and Trace_execute_partial were using the global
	  FSMs instead of using the one passed as argument. Now those 2
	  functions take a structure which contains the engine to be used
	  for execution and the correct type of FSM to be used

2009-12-15 11:08 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added forward closure to dual SAT BMC invariant checking
	  algorithm.  It is now possible to specify which closure strategy
	  to use with the -s <strategy> command parameter. The default
	  strategy is 'backward' (inherited from the former
	  implementation).

	  Example

	  go_bmc check_invar_bmc_inc -a dual -s forward -k 30

	  The system has been tagged prior to this commit.

2009-12-15 00:05 Marco Roveri <roveri@fbk.eu>

	* - Minor code cleaning

	  - Added memoization of the computation of the INIT/TRANS
	  expression associated to a variable.

	  - Added memoization of the set of predicates associated to the
	  INIT/TRANS expression associated to a variable.

2009-12-14 20:10 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIXES

	  Added memoization to funtions sexp_inliner_extract_equals_invars
	  and sexp_inliner_is_expr_deterministic.

	  PS. I am not fully sure when the memoization has to be reset.
	  At the moment it is reset only during destruction.

2009-12-14 20:06 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIXES

	  Simplification function memoized some function and did not some
	  other.  Now everthing is memoized except the constants and
	  identifiers.

2009-12-14 17:06 Alessandro Mariotti <mariotti@fbk.eu>

	* ** EXPERIMENTAL**

	  ADDED NEW PACKAGE: Incremental Model Checking (IMC)

	  The new package exposes 2 experimental commands:
	  check_ltlspec_inc_coi and check_invar_inc_coi

	  Only BDD-based verification is supported yet. Soon SAT based and
	  SMT based verification support will be added

	  NB: autoreconf is needed

2009-12-14 17:01 Alessandro Mariotti <mariotti@fbk.eu>

	* COSMETICS: Removed TABS

	  IMPROVEMENTS:

	  Refactorized code: Added a function that builds the
	  counter-example without printing anything

	  BUGFIX: Relaxed assertion which was forcing the property to be
	  FSM-less (ie: no fsms set into the property)

2009-12-14 16:23 Alessandro Mariotti <mariotti@fbk.eu>

	* Added optional boolean flag to ComputeCOIFixpoint: if fixpoint
	  has been reached, the flag is set to true.

	  compileCmd.c has been updated for the new function signature

	  A memory leak has also been fixed in ComputeCOIFixpoint

2009-12-14 15:05 Andrea Micheli <amicheli@fbk.eu>

	* Applied the same fix of mcInvar also in BMC. Monitor variables
	  in case of invarspecs with next or inputs are declared in a
	  layer which is retained in SymbTable but is in artifacts class.

2009-12-14 15:02 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  A 'unsigned long long' value was assigned to size_t variable. On
	  my machine size_t is like unsigned long or unsigned int, which
	  is different from unsigned long long. As result, the value was
	  changed during assignment.  This bug caused infinite loop during
	  range reduction command.

2009-12-14 14:34 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR FEATURE

	  A line is added to output the size of "long long" during
	  "configure".  "autoreconf.sh" is required to use this feature.

2009-12-14 13:53 Alessandro Mariotti <mariotti@fbk.eu>

	* Added Trace_filter_assignments(Trace, List), which removes all
	  variables / defines assignments that are not in the given list
	  of symbols.

	  This is an alternative routine to the
	  Trace_remove_assingments_in_language one

2009-12-14 13:45 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a problem in free input propagation. Now the propagation
	  can be performed even on a conjunction of EQDEF and WFF (which
	  is the format of the trans in SexpFsm).

2009-12-14 13:07 Marco Roveri <roveri@fbk.eu>

	* Fixed declaration of monitor variable in invarspec
	  rewriting. Now the variable is declared in a layer of the
	  artifacrts class and it is not removed after
	  model-checking. This is useful when the possibly generated trace
	  is used later on (for example in trace re-execution).

	  [AMa + AMi]

2009-12-14 09:18 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a bug in cleanup hierarchy funtion. Some variables were
	  removed even if used.

2009-12-13 23:02 Marco Roveri <roveri@fbk.eu>

	* Added following simplifications:

	  TRUE != B --------> !B A != TRUE --------> !A FALSE != B
	  --------> B A != FALSE --------> A

	  TRUE = B --------> B A = TRUE --------> A FALSE = B --------> !B
	  A = FALSE --------> !A

	  bexpr < FALSE --------> FALSE FALSE < bexpr --------> bexpr
	  bexpr < TRUE --------> !bexpr TRUE < bexpr --------> FALSE

	  bexpr <= FALSE --------> !bexpr FALSE <= bexpr --------> TRUE
	  bexpr <= TRUE --------> TRUE TRUE <= bexpr --------> bexpr

	  bexpr > FALSE --------> bexpr FALSE > bexpr --------> FALSE
	  bexpr > TRUE --------> FALSE TRUE > bexpr --------> !bexpr

	  bexpr >= FALSE --------> TRUE FALSE >= bexpr --------> !bexpr
	  bexpr >= TRUE --------> bexpr TRUE >= bexpr --------> TRUE

2009-12-13 13:38 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added falsification algorithm to command check_invar_bmc_inc.
	  This implementation is a stripped down version of the dual
	  algorithm that only performs the "base" (i.e.  falsification)
	  part of the incremental een-sorensson invariant checking
	  algorithm.

	  To use it:

	  go_bmc check_invar_bmc_inc -a falsification

2009-12-13 13:29 Marco Pensallorto <pensallorto@fbk.eu>

	* MAINTENANCE

	  Disabled unstable commands msat_check_ltlspec_sbmc and
	  msat_gen_ltlspec_sbmc.

2009-12-11 19:27 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added command _extract_reachable_values to perform range
	  extraction after reachability analysis. This command is
	  experimental, very basic interaction is currently available.

2009-12-11 15:08 Andrea Micheli <amicheli@fbk.eu>

	* Modified invariant checking trace generation internally to build
	  a new function CheckInvarSilently which takes a trace pointer
	  wich will be filled by the counterexample if the checked
	  property is false and opt_counter_examples is true.

	  CheckInvarSilently is able to perform an invariant checking
	  using all the available tecniques without printing or
	  registering anything, so it is very useful for other algorithms.

	  This commit should not change the behavior of other externally
	  visible functions.

	  This feature is still EXPERIMENTAL but is committed since it is
	  necessary for [AMa]'s tasks.

2009-12-11 14:08 Marco Roveri <roveri@fbk.eu>

	* - Added support for constant propagation and simplification to
	  init()/INIT

	  - Fixed support for constant propagation and simplification to
	  next()/TRANS

	  - Fixed a bug with array elements promoted to DEFINES causing
	  conflicting variable declaration and define declaration. Now the
	  arrays elements are declated separately regardless wether an
	  array element has been promoted to DEFINE.

	  - Now if an assignment of the form ASSIGN next(x) := expr; TRANS
	  next(x) = const; is translated to TRANS const = expr; TRANS
	  next(x) = const if expr does not contain any UNION/TWODOTS,
	  otherwise it is rewritten into TRANS const in expr; TRANS
	  next(x) = const.

	  - Now type of expression is taken into account while doing the
	  simplification. I.e. ASSIGN next(x) := expr; TRANS next(x) =
	  const; is rewrittent as TRANS const = expr; TRANS next(x) =
	  const if x is a word. (Possibly this should be extended to other
	  types, e.g. integers and reals).

2009-12-11 13:05 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1432

2009-12-10 16:46 Alessandro Mariotti <mariotti@fbk.eu>

	* Added test suite for the new FSM sharing.

	  This test, run alone, simply verifies that there are no
	  fatal-errors.  If run in parallel on a NuSMV that has no FSM
	  sharing, properties results can also be checked

2009-12-10 16:18 Alessandro Mariotti <mariotti@fbk.eu>

	* API improvements

	  Added internal FSM sharing. If a [Sexp|Bool|Bdd] FSM has been
	  already built starting from a certain COI set and a certain
	  FSM/Hierarchy, then a copy of that FSM is returned instead of a
	  new one.

	  Bdd-based verification and BMC-based verification (using COI),
	  should benefit from this sharing (iff 2 or more properties share
	  the same COI)

2009-12-10 16:15 Alessandro Mariotti <mariotti@fbk.eu>

	* COSTMETICS - Removed tabs - removed unused commented functions

	  APIs IMPROVEMENTS - Added methods for retrieving properties
	  ordered by COI size

	  COMMANDS improvements Updated property commands, in order to use
	  the new "coi-sorting" APIs

2009-12-10 16:07 Alessandro Mariotti <mariotti@fbk.eu>

	* In FlatHierarchy_get_ordered_vars, now the normal assignments
	  are treated as

	  init(x) := expr1 next(x) := expr1

2009-12-10 16:06 Alessandro Mariotti <mariotti@fbk.eu>

	* API improvements

	  SexpFsm -> Added simple getter for the set of variables of the F
	  BoolSexpFsm -> Added public copy method

2009-12-10 16:05 Alessandro Mariotti <mariotti@fbk.eu>

	* Added NuSMV variable use_coi_size_sorting {0,1} Default value: 1

	  When enabled, properties verification order is based on the size
	  of the COI of the property

2009-12-10 13:11 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1410 (http://es.fbk.eu/bugs/view.php?id=1410).
	  Removed bit information from obfuscation map. Now bits are not
	  added to obfuscation map used for anonimization.

2009-12-10 10:39 Marco Roveri <roveri@fbk.eu>

	* - Fixed a bug while inlining expressions like: x := expr;
	  next(y) := next(x); that was not pushing next on the leaves
	  while substituting x in next(x).

	  - Fixed a bug on the equivalences to keep when there are
	  multiple candidates, e.g. next(x) = FALSE and next(x) :=
	  expr(x,y). Before the heuristic to keep the equivalence with
	  smaller support was not properly working simply keeping the firs
	  one analyzed regardless of the support. Now it keeps the one
	  with smaller support, and if there are two with same support
	  size than the first one is currently taken.

	  - Fixed memory leaks

2009-12-10 01:57 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW COMMAND

	  New command write_simplified_model2 is added.

	  This commands takes flattened hierarchy and detects variables
	  which are always equal to other var. Currently, only ASSIGNments
	  are analyzed.  For example, ASSIGN init(v1) := exp1; next(v1) :=
	  exp2; init(v2) := exp1; next(v2) := exp2; Allows to remove
	  variable v2 and add a define v2 with value v1.

	  The command can outputs the modified hierarchy to a file.

2009-12-10 01:50 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  CompileFlatten_resolve_define_chains takes an expression and if
	  it is a define/parameter identifier expands it untill an
	  expression is obtained. I.e. if define is equal to another
	  define the function will resolve all of them.

2009-12-09 16:20 Marco Pensallorto <pensallorto@fbk.eu>

	* OPTIMIZATION

	  Slight improvement of SEL(EXT(word_expr)). Uses selection
	  operations are completely discarded.

2009-12-09 15:45 Andrea Micheli <amicheli@fbk.eu>

	* Modified free input propagation to generate a full model instead
	  of a simple output. The simplification is now performed on a
	  FlatHierarchy which will be printed.

2009-12-09 13:39 Marco Pensallorto <pensallorto@fbk.eu>

	* OPTIMIZATION

	  Added semantic simplification of the pattern
	  BIT_SELECTION(EXTEND(word_expr)).  This optimization applies to
	  unsigned word expressions only.

	  Three cases are possible:

	  1. the selection is from the extension only rewrite as 0 word
	  constant of appropriate width;

	  2. the selection is from the original word only, discard the
	  EXTEND operation;

	  3. the selection is from both the extension and the original
	  word, rewrite it as the extension to appropriate size of the
	  selection of the relevant part of the word;

	  This simplification is applied by Expr_simplify and
	  Expr_resolve.

2009-12-09 13:23 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed issue #1419. msat_pick_state -s now checks that
	  trace.state denotes an existing state before proceeding.

2009-12-09 12:58 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed compilation error from last commit of this file (missing
	  parentheses).

2009-12-09 12:04 Marco Roveri <roveri@fbk.eu>

	* - Extended model simplifier to consider also next(x), and x
	  within TRANS and init to simplify / propagate constants within
	  INIT and TRANS, as well ass within init() and next()
	  assignments. Few test performed on small examples showed the
	  effectiveness of the new features. More extensive testing is
	  needed.

2009-12-09 11:42 Marco Roveri <roveri@fbk.eu>

	* - Added some debugging printing of the substitution enabled by
	  _DEBUG_SUB

	  - Fixed two problems in substitution that were wrongly recurring
	  in the body of the next() or @time{expr} to substitute
	  equivalences. For this reason the expression !x & next(y) =
	  (next(x) & expr(y)) were wrongly rewritten as !x & next(y) =
	  (FALSE), instead fo leaving the expression untouched.  Now the
	  substitution assumes and enforces via assertions the next and
	  the @time operators have been moved to the leaves.

	  - Extended discovery of equivalences of the form next(x) <->
	  TRUE in expressions of the form next(x) & expr, and next(x) <->
	  FALSE in expressions of the form !next(x) & expr,

2009-12-09 08:36 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1421 (http://es.fbk.eu/bugs/view.php?id=1421).

	  Changed the way symbol table is obtained in invarspec rewriting
	  with input or next.

2009-12-09 01:32 Marco Roveri <roveri@fbk.eu>

	* Fixed simplification of IFF to simplify A <-> A to TRUE if A is
	  not an expression of type word.

	  Further simplification can be done if A is of type word by
	  returning a constant expression of the same size of A such that
	  all the bits are set to TRUE. A warning has been added for this
	  further optimization.

2009-12-08 10:36 Marco Roveri <roveri@fbk.eu>

	* - Added two new functions: Expr_simplify_equal,
	  Expr_simplify_notequal that differently from Expr_equal,
	  Expr_notequal use the symbol table to detect if the arguments
	  are constants of type enum. Those without simplify rely on a
	  global variable to store the symbol table and the global
	  variable is initialized to a value different from NULL only
	  under certain conditions.

	  - Modified Expr_resolve to call the two new functions. Currenly
	  this assumes the symbol table passed to Expr_resolve to be non
	  NULL.  From an analisys of the code it seems the condition
	  always holds.

2009-12-06 20:09 Marco Roveri <roveri@fbk.eu>

	* BUGFIX:

	  Fixed a problem of an hash not properly destroyed after each
	  call to write_* commands that was wrongly interacting with
	  reset. This was creating seg faults under certain circumstances.

2009-12-04 20:40 Andrea Micheli <amicheli@fbk.eu>

	* BIG improvement in free_input_propagation:

	  - Fixed several bugs - Cleaned an commented code - Added some
	  useful comments and explanations

2009-12-04 16:55 Andrea Micheli <amicheli@fbk.eu>

	* Added **EXPERIMENTAL** support for free input propagation. The
	  code compiles but needs a lot of testing and contains some
	  warnings.

	  To test the new functionality a very simple command, called
	  '_free_input_propagation', was added.

2009-12-04 01:18 Marco Roveri <roveri@fbk.eu>

	* - BUGFIX: Fixed some corner cases where no fresh variables were
	  introduced although needed. The conditions in the code were not
	  enough.  - Added several assertions to gurantee correctness of
	  the maipulated data (i.e. that no cnf variables with name 0 is
	  used)

2009-12-03 18:29 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* OUTPUT FORMAT CHANGE

	  Command "write_coi_model -C" outpus a list of variables a
	  property depends on. New code outputs every var on individual
	  line which makes the output more understandable.

2009-12-03 15:43 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a substitution condition bug.

2009-12-03 15:04 Alessandro Mariotti <mariotti@fbk.eu>

	* API improvements

	  Added function ComputeCOIFixpoint which calculates the
	  dependencies of the given formula, stopping the computation at
	  the given bound (or to fixpoint if bound = -1)

2009-12-03 10:49 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Solved a segfault problem caused by a possible NULL pointer.

2009-12-02 10:20 Marco Roveri <roveri@fbk.eu>

	* Bug fix for a word variable whose range consists of 1 element. A
	  wrong ifthenelse was created in this case, and while compiling
	  an erroro arised for case not being completed.

	  Now instead of a variable a DEFINE is created.

2009-12-01 19:25 Marco Roveri <roveri@fbk.eu>

	* - Added few comments (MR) - Added the legenda (AMa)

	  AMa+

2009-12-01 18:37 Marco Roveri <roveri@fbk.eu>

	* Added two optimizations aimig to avoid/delay the call to BDDs
	  for getting the boolean expression when e.g. exprl = exprr and
	  both expressions are boolean, or when var := expr when both var
	  and expr are boolean.

	  Fixed an inefficiency in the handling of ITE in the case of word
	  expressions. The test was performed too late, and some complex
	  operation was already done and simply disregarded.

2009-12-01 14:33 Alessandro Mariotti <mariotti@fbk.eu>

	* NEW FEATURE

	  _write_ordered_assignments command can now print the adjacency
	  matrix using the '-m' argument.

	  The adjacency matrix is represented as csv
	  (comma-separated-values) format, which can be read using MS
	  Excel or OO calc etc.

2009-12-01 10:03 Marco Roveri <roveri@fbk.eu>

	* - Added some warning to be recnsidered later - Added lazy
	  evaluation for AND/OR - Added a new function to return an array
	  of add, necessary for evaluating expressions of type word.

2009-12-01 08:59 Marco Roveri <roveri@fbk.eu>

	* Added printing of statistical information about the abstraction
	  performed.

	  - With verbosity 2 (or greater) prints the size of the cone
	  before and after the abstraction.  - With verbosity 3 (or
	  greater) complements previous data with the prints of the cone
	  before and after the abstraction.

2009-12-01 06:33 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug in experimental msat simulation. Incorrect
	  management of incremental clauses. Should be fixed now. Produces
	  correct, compatible traces in a fraction of the time required by
	  the standard msat simulation.

2009-11-30 16:58 Marco Pensallorto <pensallorto@fbk.eu>

	* EXPERIMENTAL

	  Added command _msat_simulate, which is a duplicate of
	  msat_simulate but tries a different, hopefully more efficient
	  approach to simulation via SMT.

	  (i.e. instead of unrolling the path up to k, performs one step
	  at each iteration).

	  Remark: this code is quite experimental and needs some more
	  work.

2009-11-30 14:34 Marco Roveri <roveri@fbk.eu>

	* - Minor stylistic fixes

	  - Disabled the printing of more informative define names while
	  dagifing (a better solution should be thought of since the
	  current solution wrongly interacts with some other parts of the
	  system).

	  - Added memoization to the routine that get rid of chain of
	  defines.

2009-11-30 14:17 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed a bug that caused trace corruption when removing artifacts
	  variables from the trace.

2009-11-30 11:03 Marco Roveri <roveri@fbk.eu>

	* Fixed aproblem in SymbTable_get_fresh_symbol_name that was
	  initializing the prefix after having allocated the size for the
	  result in the case the prefix was null. This was causing seg
	  faults or access to space not allocated.

2009-11-30 09:42 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Relaxed failing assertion when extracting interpolants. This
	  commit fixes #1412.

2009-11-28 00:47 Marco Roveri <roveri@fbk.eu>

	* Extended to provide function SymbTable_resolve_define_chain to
	  get rid of chains of DEFINES of the form: DEFINE a := b; b := c;
	  c := d; d := e; such that if invoked on a will respond "e". Thus
	  if this function called on the body of such defines it returns:
	  DEFINE a := e; b := e; c := e; d := e;

2009-11-27 16:57 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX: Fixed a free_node in the
	  FlatHierarchy.c:FlatHierarchy_get_ordered_vars

	  FEATURES: Added support for clusters in the
	  _write_ordered_assignments command (use -c argument)

2009-11-27 13:47 Alessandro Mariotti <mariotti@fbk.eu>

	* Added command _write_ordered_assignments, which prints in DOT
	  format a graph with representing the dependencies of variables
	  in their respective assingments

2009-11-27 13:07 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug MathSAT based simulation that cased incompatible
	  traces (i.e.  non-re-executable on the same fsm). This should be
	  fixed now.

2009-11-26 14:37 Andrea Micheli <amicheli@fbk.eu>

	* Added a flag to flat writers (WriteFlattemModel & Co) to force
	  the flattenization of the expressions. If the flag
	  'force_flattenization' is true than the expressions are
	  flattened before printing, otherwise the flattenization is
	  performed only if the context of the expression is not Nil.

2009-11-26 14:31 Alessandro Mariotti <mariotti@fbk.eu>

	* NEW FEATURE

	  - Added counter-examples extraction for Guided Reachability.
	  GRDag class has been added

	  BUGFIX: - Now pre-GR model simplification builds new encoders by
	  default

2009-11-26 14:25 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  missing file from last commit.

2009-11-26 14:17 Marco Pensallorto <pensallorto@fbk.eu>

	* OPTIMIZATION

	  Added memoization to the translation functions for term to sexp.
	  This has a noticeable impact on the _normalize_expr command.

2009-11-26 11:25 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Principled bugfix for errno issue. All calls to strtol and
	  strotoull have been fixed in WordNumber.c. Error recognition
	  method has been taken from the relevant manpages.

	  Remark: LLONG_MAX is needed for checking the result of strtoull.
	  this constant exists in c99 only. It is locally defined as

	  #define LLONG_MAX 0x7FFFFFF

	  if not found. A warning is issued if such custom definition
	  occurs.

2009-11-26 00:12 Marco Roveri <roveri@fbk.eu>

	* Added a new command _write_pred_clusters_model that has the
	  following signature.

	  usage: _write_pred_clusters_model [-h] [-o filename] -h Prints
	  the command usage.  -o filename Writes output to "filename".

	  It prints the clusters of predicates of the model. If verbosity
	  is enabled, then each cluster is also followed by the list of
	  corresponding predicates of the model.

	  If -o filename is specified, then filename is used as prefix,
	  and for each cluster is created a self contained SMV file whose
	  name is:

	  filename_<num>.smv

	  Where <num> is the number of the cluster.

2009-11-25 18:44 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug that caused incorrect management of ERRNO in
	  function WordNumber_from_parsed_string. This randomly caused
	  non-well formed WordNumbers. (this was very hard to track down
	  :)

2009-11-25 18:42 Marco Pensallorto <pensallorto@fbk.eu>

	* PERFORMANCE

	  Avoid declaring encoding bits for words when native word support
	  is enabled.

2009-11-25 18:39 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  The assign expression of the resulting hierarchy, when using
	  FlatHierarchy_mergeinto, was not correctly built: Only the
	  process name was added instead of the couple (proc_name,
	  proc_assign)

2009-11-25 13:41 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed mathsat based invariant checking algorithms.

2009-11-25 09:29 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  - Fixed a (repeated) minor bug in msat based invariant checking
	  algorithms that wrongly assigned a trace also when no trace
	  existed.

	  - Fixed a minor bug in EenSorensson invariant checking algorithm
	  that did not assign the status TRUE to the property in the
	  propDB.

2009-11-24 17:26 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added a function in Compile_check that checks exhaustiveness for
	  CASE issuing a warning when a violating expression is found.

	  Remark: this function is currently used only when using MathSAT.

2009-11-24 17:19 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug that caused TRANS corruption in ModelSimplifier.

2009-11-24 16:04 Marco Roveri <roveri@fbk.eu>

	* Modified Expr_ite to get rid of possible failure resulting from
	  the original formula because of e.g. not having specified a
	  default condition in cases by printing warning messages to the
	  user

2009-11-24 14:36 Marco Roveri <roveri@fbk.eu>

	* Additional simplifcation in case expressions:

	  case cond1 : case cond1 : expr1; ....  esac; ....  esac;

	  simplifies to:

	  case cond1 : expr1; ....  esac;

	  That's we can get rid of the nexted case with the same condtion
	  as the father.

2009-11-24 13:46 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added command _normalize_predicate to perform printout of
	  normalized predicates. See command help for further details.

2009-11-24 12:59 Andrea Micheli <amicheli@fbk.eu>

	* - Fixed a daggifier bug which caused the missing output of some
	  introduced defines.

	  - Added the key obfuscation map at the bottom of the anonimized
	  file produced by 'write_flat_model -A' and an option (-m) to
	  contol the output of such map.

2009-11-23 02:09 Viktor Schuppan <schuppan@fbk.eu>

	* BUGFIX

	  Two var sets were handed into a new instance without copying
	  them, but after the construction deleted right away. There seems
	  to be a bit of a confusion as to whether these two var sets are
	  shallow copies (just pointer assignments, really) or somewhat
	  deeper copies. Added a warning to perform a more general
	  overhaul w.r.t. this issue.

2009-11-23 01:22 Viktor Schuppan <schuppan@fbk.eu>

	* [BUGFIX]

	  Function name in .c was different from function name in .h.
	  Adapted .c to .h.

2009-11-20 17:09 Marco Roveri <roveri@fbk.eu>

	* BUG FIX The daggifier was not working correctly: 1. ASSIGNs were
	  not considered when learning dag information [fixed by AMi]
	  2. In most cases the daggifier was not subsituting shared nodes
	  with the corresponding calculated DEFINE names.

	  These fixes improve greatly performaces of
	  write_simplified_model (and in general write_{flat,bool}_model

	  [RC+AMi]

2009-11-20 16:35 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed MSatEnc promotion bool->int support for the relational
	  operators(<=, <, >=, >).

2009-11-20 10:05 Roberto Cavada <cavada@fbk.eu>

	* OPTIMIZATION Optimized an internal step of the inliner, when an
	  hit is done in the inliner memoization cache.

2009-11-19 17:19 Marco Pensallorto <pensallorto@fbk.eu>

	* [FEATURE]

	  MathSAT native word support is now enabled by default.  To
	  disable it type the command:

	  unset msat_native_word_support

	  _before_ go_msat

2009-11-19 16:23 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed support for bit selection and extension operators in Term
	  -> Sexp conversion function of the MSatEnc. The bug showed only
	  when msat_native_word_support was set. This commit fixes issue
	  #1382.

2009-11-19 15:19 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in the inliner, which was entering an
	  infinite loop.

2009-11-19 14:27 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION + BUGFIX

	  - Added -e option to command simplify_property to let the user
	  provide extra assumptions.

	  - Fixed documentation. User manual update pending.

	  - Fixed memory leaks.

2009-11-19 13:21 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added command 'simplify_property' that creates a new simplified
	  property (associated to a simplified FSM) out of a property
	  selected by the user.

	  The new property can then be checked with any available
	  algorithm.

	  Remark: initial import, documentation still to be updated.

2009-11-19 08:33 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added memoization for flatten defines' body.

2009-11-18 18:01 Marco Roveri <roveri@fbk.eu>

	* Added lazy evaluation for add_ifthenenelse

	  ITE(1,A,B) = A ITE(0,A,B) = B

2009-11-18 17:54 Marco Roveri <roveri@fbk.eu>

	* Added some warnings

	  - MR - MRAMI - MR??

	  To be checked

2009-11-18 17:42 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added support for the [*N] operator

	  - When using simplification, the new bdd encoder building is not
	  more the default behavior: Needs testing

2009-11-18 16:47 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX]

	  Fixed issue #0001382 that was caused by checks too strict on
	  booleanization. Basically, booleanization required at least one
	  of the operands to be strictly non-boolean. Removing this last
	  constraint apparently makes everything work fine. But this needs
	  to be reviewed by RC/MR.

	  No-regression tests passed all ok.

2009-11-18 15:09 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a wrong message in mathsat based invariant checking
	  algorithms.

2009-11-18 14:58 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added memoization to Expr_simplify which seems to block
	  the simplifier.  Note: Memoization is done locally, and may be
	  improved.

2009-11-18 14:33 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Enclosed MSatEnc in CATCH...FAIL (missing from previous commit).

2009-11-18 14:30 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug that caused an assertion failure (null
	  pointer). This commit fixes issue #1381.

2009-11-18 14:26 Andrea Micheli <amicheli@fbk.eu>

	* Added new features to counter acceleration

	  - Documented hrc_counter_acceleration command

	  - Implemented counter search using file of pair (counter,limit)

	  - Added an option to output properties to control counters
	  correctness

	  - Added an option to output an invariant to check whether the
	  accelerated model is useful or not

	  - Implemented synthetization of limits using BDD invariant
	  checking

2009-11-18 10:58 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Implemented memoization in the inliner.  ** TO BE TESTED
	  **

2009-11-18 10:23 Roberto Cavada <cavada@fbk.eu>

	* ADDED MEMOIZATION (STILL PARTIAL!)

	  Added partial memoization to the inliner. This commitment is in
	  the middle of the activity, and it is indended to provide the
	  possibility to check if it speeds up the inlining (only the
	  pushing of timeed nodes is memoized so far).

2009-11-18 09:27 Andrea Micheli <amicheli@fbk.eu>

	* Added functions to perform invariant checking without printing
	  results nor saving traces.

	  Added a new localized check invar function to accept the set of
	  variables over which localization has to be performed before
	  checking.

2009-11-18 08:35 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX write_simplified_model requires now that
	  build_flat_model had been run.

2009-11-17 22:28 Marco Roveri <roveri@fbk.eu>

	* Fixed a stupid and very bad programming style. See example :)

	  { int parse_status;

	  { int parse_status = yyparse();

	  } if (parse_status != 0) {....

2009-11-16 14:49 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added type checking for user-defined assumptions on model
	  simplification.  This commit partially fixes issue #1373. See
	  the ticket for more details.

2009-11-16 14:18 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  Fixed a silly bug in the generation of the monitor for
	  ordering variables.

	  The domain of consistency variables was wrongly declared as:

	  1 .. (disable_simult?2:3)

	  instead of

	  1 .. nr_cons_vars

	  (the number of consistency variables, e.g. if there are 4
	  consistency variables, the domain is 1 .. 4).

	  This explains why everything worked fine when we had up to 3
	  variables ...

	  This fixed issue #248 of the COMPASS trac.

2009-11-13 17:04 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Resolved bug with the -s option, which was leading to wrong
	  results when doing GR INVAR verification.

2009-11-13 17:02 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed reachable states printout.

	  When the count of the reachable states was performed, the state
	  frozen vars mask was not considered, resulting in a wrong count
	  of the states.

2009-11-13 16:27 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  The new simplified variables SET was added to the original
	  hierarchy instead of to the simplified one, causing an error
	  when creating the SexpFsm

2009-11-13 11:57 Andrea Micheli <amicheli@fbk.eu>

	* Added new way to specify counters in counter acceleration. Now
	  the command ''hrc_counter_acceletration'' accepts a list of
	  couples (counter_name, value).

	  NOTE: This commit is VERY experimental and is intended to allow

	  early code inspection.

2009-11-13 11:56 Alessandro Mariotti <mariotti@fbk.eu>

	* EXPERIMENTAL CODE

	  Added Reachability analysis completeness for GR

	  - Added options -d and -a to Guided Reachability -d => Do not
	  complete reachability analysis -a => Stop at the first property
	  found false

2009-11-12 18:58 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TEXT

	  Description of shell variable bdd_static_order_heuristics and
	  command line option -bdd_soh are added. A few cross-references
	  are added.

2009-11-12 16:57 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  - Fixed a few minor bugs in Model simplification.  - Added
	  support for FROZENVARs in INIT - Added local simplification for
	  TRANS

2009-11-12 10:57 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  During static BDD order creation the code assumed that every
	  predicate after normalization has at least one var. This is not
	  true because normalization is done on flattened hierarchy,
	  i.e. no simplifications is done yet at that moment.

2009-11-12 10:55 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIXES

	  During predicate normalization expressions EXTEND, CAST_SIGNED,
	  CAS_UNSIGNED did not perform push-ITE-up after processing the
	  operarands. As result these expressions could have boolean
	  subexpressions even after normalization, which is wrong.

2009-11-10 21:56 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Static variables ordering heuristics have been implemented. It
	  anaylizes the input flatten model and tries to infer a good
	  order.

	  Command line option -bdd_soh and shell variable
	  bdd_static_order_heuristics have been added to control the new
	  code.  Possible values are "none" to switch off the new code and
	  "basic" to enable it. Default value is "basic".

	  Note that the heuristics is enabled only if 1) no ordering file
	  is provided AND 2) bdd_static_order_heuristics (or option
	  -bdd_soh) is set to "basic".

2009-11-10 21:41 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REFACTORING

	  Implementation of print_fsm_stats -p has changed. Now before
	  executing this command it is enough to run flatten_hierarchy
	  instead of build_model.

2009-11-10 21:37 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE RE-FACTORING

	  1. The function collecting predicates in a normalized expression
	  now records which expressions has been passed already and
	  collects every predicate only once.

	  2. A few comments and warnings are added/removed.

2009-11-10 16:17 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed the _normalize_expr command, moved the MSatEnc
	  creation/destruction into a CATCH...FAIL safe block.

2009-11-10 15:39 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed DON'T CARE support in model extraction code for mathsat.
	  This commit fixes issue #0001359. This needs more testing.

2009-11-10 13:49 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Removed artifact variables from MSAT SBMC counterexample traces.

	  Those variables caused trace re-execution to fail. Stripping
	  away the artifact variables from the trace resolved the
	  problem. Now ctx traces generated by MSAT SBMC can be verified
	  for compatibility using execute_traces.

	  REMARK: This fix has to be ported on the non-incremental MS SBMC
	  and on the original SAT-based implementations.

2009-11-10 13:27 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added loopback information to counterexample traces generated by
	  MSAT SBMC.

2009-11-10 09:48 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  - Fixed headers for modified files - Fixed a bug that caused
	  incorrect numbering for SBMC counterexample traces

2009-11-10 09:43 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  - Fixed cleanup for command _normalize_expr - Removed some dead
	  code

2009-11-10 09:20 Andrea Micheli <amicheli@fbk.eu>

	* Implemented MR code review in invariant checking (mcInvar.c).

	  This commit removes some dead code and fixes bugs #1365 and
	  #1148 (http://es.fbk.eu/bugs/view.php?id=1365 &
	  http://es.fbk.eu/bugs/view.php?id=1148)

2009-11-09 17:27 Marco Pensallorto <pensallorto@fbk.eu>

	* [BUGFIX + FEATURE]

	  Added support for invariant checking containing NEXT. This
	  commit fixes issue #1345. Needs autoreconf.

2009-11-09 17:16 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added test model for DEFINEs dagging testing

	  - Added test model for demostrating that non-deterministic
	  DEFINEs are inlined, not resulting in unexpected behaviors when
	  shared between two or more expressions

2009-11-09 16:55 Alessandro Mariotti <mariotti@fbk.eu>

	* Added the -C option to the write_coi_model command, which prints
	  only the list of variables for properties, instead of the whole
	  COI F

2009-11-09 16:52 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIXes:

	  The write_flat_model function was not correctly working with
	  "dagged" output. The problem was that some expressions / nodes /
	  symbols where not "normalized" (ie, created with find_node):
	  while parsing expressions, symbols in the DAG table were not
	  found

	  The fix of the bug has raised other bugs:

	  - write_flat_model -A was not able to work with dags (FIXED)

	  - The dag was also computed for CTL/LTL/COMPUTE properties. It
	  happened that DEFINEs such as DEFINE x := AG AF z; were
	  declared, but those are not supported by the NuSMV
	  language. (FIXED)

	  - Expressions such as - (-5) are dumped as --5, which is a NuSMV
	  comment (NOT FIXED)

	  NEW FEATURES: - DEFINE bodies were not used for "dagging", now
	  they are.

2009-11-09 16:45 Alessandro Mariotti <mariotti@fbk.eu>

	* APIs improvement

	  Added method Prop_compute_cone which computes the COI for the
	  given property, without side-effects

2009-11-09 16:32 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed trace completeness check for execution. This commit fixes
	  issue #1364.

2009-11-09 16:28 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed prequisites checks for smt trace execution (both complete
	  and incomplete).  Now MSat_check_if_model_was_built is properly
	  called to verify the mathsat model has been built.

2009-11-09 14:37 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a segfault problem in backward and forward-backward invar
	  check algorithm.

2009-11-09 13:58 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  In commands write_reduced_model and write_simplified_model, the
	  output stream file was closed even if no output file was
	  specified. In this case, nusmv_stderr was closed and NuSMV could
	  not use that stream anymore

2009-11-09 13:47 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added some verbosity to the guided reachability
	  algorithm. With verbosity on, the scenario is now printed out
	  while applied.

	  - Added some verbosity to the debug routine of GR: It now prints
	  out the number of reachable states

	  - Some typing errors fixed

2009-11-09 10:30 Marco Roveri <roveri@fbk.eu>

	* - fixed a problem of accessing fail_events_vector array out of
	  its bounds.

	  - added an assertion to guarantee the second time it is used
	  fail_events_vector, it does not exceeds its bounds.

2009-11-09 10:21 Marco Roveri <roveri@fbk.eu>

	* Alternative implementation of compute_primes.

	  Currently disabled.

	  To enable it uncomment the line below in the code

	  // #define MR_PRIME_IMPLICANTS

	  More tests are needed for this. Currently it seems to save a lot
	  of memory w.r.t. the previous one that is traversing the BDD as
	  it was a tree.

2009-11-08 10:42 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed layer removal for incremental msat sbmc. Incorrect
	  artifact layer removal code caused multiple LTLSPEC checks to
	  fail. It is now possible to check multiple LTLSPECs.

2009-11-06 19:08 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* INTERMEDIATE COMMIT

	  Code which compute bdd order statically is implemented. At the
	  moment it is wrapped in #if 0 ... #endif, as it is not tested.

	  Also some minor refactoring has been done.

2009-11-06 19:03 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  New function TypeChecker_is_expression_type_checked returns true
	  iff a given expressions has been type checked already.

2009-11-06 18:26 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  rpterr(("%s", string)) was fixed to rpterr("%s", string).  Note
	  that rpterr(("%s", string)) is the same as rpterr(string) which
	  is wrong.

	  BTW, gcc reported a warning for this statement but it was
	  ignored.

2009-11-06 17:07 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Ported symbols ordering when outputting traces with plugins
	  0,1,2,3.  This commit fixes issue #0001229

2009-11-06 15:56 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Changed expected outcome of a few tests in test/traces. This
	  commit fixes issue #1323

2009-11-06 15:01 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed checks for prerequisites on msat_bmc commands. Affected
	  commands:

	  msat_check_invar_bmc msat_check_ltlspec_bmc
	  msat_check_ltlspec_sbmc msat_check_ltlspec_sbmc_inc

	  This commit fixes issue #1253

2009-11-06 14:27 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added INVARSPEC and CTLSPEC that check that there exists a
	  deadlock (when all philosophers have a fork in the left hand)

	  - Now the script is parametrized. Check -h option for the usage

2009-11-06 13:33 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  - fixed a small bug that caused incorrect times being shown when
	  giving error messsages upon loading a trace.

	  - COSMETICS: added a few comments

	  This commit closes issue #0001237

2009-11-06 09:48 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX (issue #1351 ).

	  In COMPASS we disabled the 'simult' value in the monitor for
	  ordering computation. However, this "optimisation" turns out to
	  be theoretically wrong (for good reasons).

	  Optmisation is not disabled.  The code is still there for
	  experimentation and debugging purposes, but it could (and will)
	  probably be removed eventually.

	  Appropriate warnings in the code discourage programmers' for
	  enabling the optimisation again.

2009-11-06 01:28 Marco Roveri <roveri@fbk.eu>

	* PARTIAL BUGFIX #1346

	  Ported to last features of the system

2009-11-06 01:08 Marco Roveri <roveri@fbk.eu>

	* Re-enabled the check of PSL expressions to be free of next
	  expressions. If not enabled, the verification can then fail
	  because of unexpected operators.

2009-11-06 01:01 Marco Roveri <roveri@fbk.eu>

	* PARTIAL BUGFIX #1346

	  Ported to new ouptuts.

2009-11-06 00:58 Marco Roveri <roveri@fbk.eu>

	* PARTIAL BUGFIX #1346

	  Ported expected output to new format.

2009-11-05 23:53 Marco Roveri <roveri@fbk.eu>

	* PARTIAL BUGFIX #1346

2009-11-05 23:35 Marco Roveri <roveri@fbk.eu>

	* PARTIAL BUGFIX #1343

2009-11-05 16:11 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX + NEW TESTs

	  Fixed a bug in the range extraction. I was assuming that pure
	  integer enumeratives where ordered and all values in the
	  interval where presents.

	  I've also added an option to the _extract_ranges command, '-c',
	  which auto-checks the added invariants

	  For a complete test over all models in examples/ and test/, use
	  the test_re.pl script

	  reachCmd.c : removed a function documentation which had no
	  function associated

2009-11-05 16:01 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Last commit had introduced a regression. This was due to an
	  incorrect refactoring of a problem building code. Fixed by
	  inspecting previous CVS contents.

2009-11-05 15:03 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Command print_fsm_stat now has option -p to output all the
	  normalized predicates in FSM. Expressions in properties are
	  ignored.

2009-11-05 15:01 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  An assertion was too strong.

2009-11-05 14:05 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed compilation error. Sorrry. Stupid typo.

2009-11-05 13:32 Marco Bozzano <mbozzano@fbk.eu>

	* Changed 'Top Level Event' to 'Top_Level_Event' as required by
	  RWTH in COMPASS.

	  [MBOzz]

2009-11-05 13:06 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Added control over the original SEXPFSM assignments before doing
	  anything with assignments of the simplified SEXPFSM.

	  This was causing an assertion failure when using the '-S' option
	  of the _guided_reachability_debug command.

	  The issue has also been fixed in the range reduction class

2009-11-05 12:53 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added support for contextualized properties. Property bodies are
	  flattened using Compile_FlattenSexp when building the
	  problem. This commit fixes issue #1344.

	  Affected commands: msat_check_invar_bmc (all algorithms)
	  msat_check_ltlspec_bmc

2009-11-05 10:13 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Previous fix to avoid renaming of true and false FTs with
	  'fault_cfg_X' did not cover all cases.

	  Unroll of previuos commit.  Moved check from fmea/fmeaOrder.c to
	  saCore.c, and added new function ft_is_true and ft_is_false in
	  FT library for that purpose.

2009-11-04 18:51 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  In true and false FTs, the name of the gate is not
	  renamed to fault_cfg_X in the dynamic case (must be true or
	  false).

2009-11-04 16:51 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX + Documentation

	  Added documentation for GRNode methods

	  Fixed a bug in printing in case of high verbosity. Now
	  BddEnc_print_bdd_wff is used instead of BddEnc_print_bdd

2009-11-04 16:46 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  A add_node which was created outside a loop, was freed everytime
	  in the loop, causing a dereference counting error in CUDD.

2009-11-04 16:25 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed NNFization suppor for MathSAT based BMC. The modified
	  should not modify behaviour w.r.t. pure sat bmc.

2009-11-04 12:26 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  1. Now during flattening the function which checks absence of
	  inputs in "next" expressions performs memorization of already
	  checked expressions.

	  2. Some minor code refactoring is done. For example, some public
	  functions are made static and some code is simplified.

2009-11-03 17:24 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed uninitialized variable, causing assertion failure when
	  using _guided_reachability_debug command

2009-11-03 08:33 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX (Againg on #1338)

	  Input variables were wrongly inserted into the produced trace.
	  This should fix the problem.
	  http://es.fbk.eu/bugs/view.php?id=1338

2009-11-03 00:29 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1343

	  Fixed WordNumber_signed_right_shift to: - properly detect the
	  sign of the considered word.  - properly consider the limit case
	  of >> 64.

2009-11-02 23:03 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1307

	  Changed priority of MOD operator to be higher then the priority
	  of. PLUS and MINUS.

2009-11-02 20:14 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Now variable vars_order_type may have the following values: (old
	  ones) input_before, input_after, topological (new ones)
	  input_before_bi, input_after_bi, topological_bi.

	  New values are the same as the old ones but bit interleaving is
	  done.

	  Value "lexicographic" is made deprecated feature. Use
	  "topological" instead.

2009-11-02 17:50 Alessandro Mariotti <mariotti@fbk.eu>

	* Extended the NuSMV psl parser to support words.

	  The support is still experimental, and the code has to be
	  reviewed.

	  Known problems: - Missing support for bit-selection (due to a
	  shift-reduce problem)

	  ++ Fixed some bugs with CASE expressions ++ Fixed signed
	  constant numbers (eg -2, +10) that were leading to segfaults

	  The system has been tagged before this commit and will be tagged
	  after

	  Tag names are: before_psl_parser_word_support_021109
	  after_psl_parser_word_support_021109

2009-10-31 09:32 Marco Roveri <roveri@fbk.eu>

	* BUGFIX: #1340 http://es.fbk.eu/bugs/view.php?id=1340

	  Now when reading from file one should preceed the PSL expression
	  with keyword "PSLSPEC" or "grsequence". Then the EOF is
	  recongized for such two new production, and the error in parse
	  psl expression from file should no longer appear.

	  No strong checks to enforce PSLSPEC and/or grsequence are
	  performed then. But this should not create problems. If they are
	  not specified errors are showed, and the old error showed in
	  #1340 appears.

2009-10-30 10:39 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX ##1138

	  Fixed Mathsat simulation to handle input vars.
	  http://es.fbk.eu/bugs/view.php?id=1338

2009-10-30 10:24 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1337

	  A quick tentative fix.  http://es.fbk.eu/bugs/view.php?id=1337

	  The solution may be not fully optimized, so I'll not close it,
	  and will ask MP to have it a look when he's back.

2009-10-30 09:29 Marco Roveri <roveri@fbk.eu>

	* Fixed a bug in the limit case for the handling of the
	  computation of the bdd for reachable states after introduction
	  of timers to stop reachability after an image computation if the
	  time till the start of the computation exceeded a user specified
	  timeout.

	  The limit case for untimed, i.e. proceed until fix point or
	  number of specified steps performed was not properly handled.

2009-10-29 18:17 Marco Roveri <roveri@fbk.eu>

	* Small modification to avoid space explosion in aggregating the
	  clusters using affinity heuristic. In origin if the number of
	  initial clusters whose BDD was below the threshold is a huge
	  number N, then the algorithm was allocating initially an array
	  of size C(N,K) = N!*(K!*(N-K)!) to contain all the pairs of
	  clusters and to order them w.r.t. affinity measure. If such N is
	  large, then the memory needed to perform this operation can be
	  pretty huge.

	  With this commit, if N > 100 (specified with the following
	  #define CLUSTER_LIST_SIZE_INHIBIT_AFFINITY) then the clustering
	  via affinity is disabled and it is used the "simple" one that
	  start aggregating following the ordering of the list of cluster.

	  A better solution can also be thought. I.e. The list can be
	  splitted in groups of 100, and each of this group can be grouped
	  with the affinity algorithm. This optimization is left for
	  further development.

2009-10-29 14:18 Alessandro Mariotti <mariotti@fbk.eu>

	* Added options for specifiyng the type of the Property.

	  This option must be used if also using the -p "expr" option, and
	  can be used for filtering the dumping of the coi model for only
	  properties with of given type

2009-10-29 13:25 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX and Documentation

	  - Added documentation for the write_coi_model

	  - Solved a bug with DEFINEs and MDEFINEs, which were added even
	  if using variables not included in the COI model, resulting in
	  an error

2009-10-29 13:08 Andrea Micheli <amicheli@fbk.eu>

	* Added time limit option to "compute_reachables" as requested in
	  bug #1324 (http://es.fbk.eu/bugs/view.php?id=1324). Now it is
	  possible to specify the number of seconds after witch the
	  computation has to end (The last cycle will be completed anyway)

2009-10-28 14:16 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  When Expr_resolve is called, the result was assumed to be in the
	  original variable domain. But Expr_resolve does not take in
	  count the original variable domain, and simply returns the
	  result of the operation.

	  Now the range extractor does an intersection between the
	  extracted interval and the original variable domain before
	  actually add the found values to the extracted variable range.

2009-10-28 13:22 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed DEFINE construction for reduced words: The default case in
	  non-exhaustive cases was wrong. Now the default case is added
	  when: a) The ADD_DEBUG_DATA flag is set to 1 b) The size of the
	  extracted range is not a power of 2

	  Fixed construction of the DEFINE body for reduced scalars: The
	  interval size was computed wrongly ("low - high" instead "high -
	  low + 1")

2009-10-28 12:58 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  WORD width was not correctly computed.

	  When the number of values to be represented was a power of 2,
	  the returned width was one more than necessary.

	  (4 values need 2 bits to be represented!)

2009-10-28 09:42 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* DEFAUTL VALUE CHANGE

	  The defatul value of "write_order_dumps_bits" is changed from
	  "false" to "true".

2009-10-28 09:00 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed variable array index problem with BMC package (see bug
	  #1325 http://es.fbk.eu/bugs/view.php?id=1325)

	  Fixed the handling of failure nodes in properties of BMC
	  package.

2009-10-27 23:51 Marco Roveri <roveri@fbk.eu>

	* FEATURE 1312:

	  Added printing of summary in addition to the previous
	  output. Now if no command line flags are specified
	  (i.e. -f,-s,-i) only the summary is printed. If any of the above
	  flags is specified, the summary is complemented with the full
	  list of variables.

	  Below an example of output:

	  NuSMV > show_vars Number of Input Variables: 3 2: unsigned
	  word[8] 1: boolean Number of State Variables: 42 3: unsigned
	  word[16] 3: unsigned word[8] 3: {__MMMM177__, __MMMM333__,
	  __MMMM256__, __MMMM137__} 32: boolean 1: unsigned word[32]
	  Number of Frozen Variables: 0

	  This closes issue 1312. (http://es.fbk.eu/bugs/view.php?id=1312)

2009-10-27 23:33 Marco Roveri <roveri@fbk.eu>

	* - added an simplifcation that calls directly BddEnc_expr_to_bdd
	  instead of calling the BddEnc_expr_to_add and then on the result
	  call add_to_bdd.

	  - Added an hash to avoid inserting the same cluster more than
	  once in the initial list of clusters before starting combnining
	  them according to the different heuristics (affinity, iwls95,
	  ...).  This feature is enabled by default. To disable this
	  feature it is necessary to modify AVOID_DUPLICATE_BDDs to be 0
	  instead of 1 (the default).

	  Notice that, this optimization prevents the bug 1320 to appear
	  with the test file attached to the bug.

2009-10-27 23:25 Marco Roveri <roveri@fbk.eu>

	* Ported the file to use the MALLOC/FREE/REALLOC standard macros
	  instead of the malloc/free/realloc macros. This allow for
	  replacing the memory allocation routines.

2009-10-27 17:51 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Now shell variable "vars_order_type" may have a new value :
	  bit_interleaved.

	  This value is set as default and it makes the BDD order of
	  variables bit to be interleaved, i.e. at the very bottom of the
	  order are 0-th bits of all variables, then go 1-st bits of all
	  vars, etc.

	  The exception is boolean vars which are put at the top.

2009-10-27 17:43 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed mantis issue 1322: When a new value is discover at a
	  certain FIXPOINT, when working with the MOD operator, it is
	  first checked if it is a valid value for the original variable
	  domain. If not, it is not added to the resulting domain

2009-10-27 14:24 Alessandro Mariotti <mariotti@fbk.eu>

	* Added method Compile_WriteRestrictedFlatModel, which dumps the
	  given hierarchy to FILE. The difference with the
	  Compile_WriteFlatModel is that the dumping is restricted on the
	  set of variables containted within the given FlatHierarchy.

	  Command write_coi_model now should work.

2009-10-27 14:04 Andrea Micheli <amicheli@fbk.eu>

	* Extended behavior of ''compute_reachable'' command to actually
	  compute reachable states and added a -k option to limit the
	  extension of cached reachables to k steps. See mantis bug #1324
	  (http://es.fbk.eu/bugs/view.php?id=1324).

2009-10-27 09:17 Andrea Micheli <amicheli@fbk.eu>

	* Updated obfuscation in write_flat_model command, now it supports
	  arrays and MDEFINEs.

	  Removed TABs from previously committed files.

2009-10-26 22:20 Marco Roveri <roveri@fbk.eu>

	* Added some comments for AMi related to obfuscated printing, and
	  to SymbTable_get_symbol_types and field symbol_types of
	  structure Symbol_Table.

2009-10-26 17:56 Alessandro Mariotti <mariotti@fbk.eu>

	* First version of write_coi_model command.

	  It applies COI for a Property over the FSM and then dumps it.

	  See "write_coi_model -h" for usage..

	  NB: It seems that COI is not applied. The command is not
	  intended to be used, yet

2009-10-26 17:21 Andrea Micheli <amicheli@fbk.eu>

	* Added -a option to ''write_flat_model'' command for
	  anonimization of models, this option has some problems whith
	  arrays and is very experimental.

2009-10-26 15:57 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed wrong WORD simplification conditions on Expr_plus,
	  Expr_minus, Expr_times

2009-10-26 15:56 Alessandro Mariotti <mariotti@fbk.eu>

	* QUICKFIX

	  Word operations that lead to overflows caused the range
	  extractor to assert. For example:

	  0ud2_2 + 0ud2_2 = 0ud2_0.

	  This case was not handled by the range extractor. In fact, what
	  actually happened was that 0ud2_0, which was computed as higher
	  bound, was found lower than the lower bound, resulting in an
	  assertion.

	  The fix is to swap the bounds if necessary (only on
	  words. Scalar problem is still not fixed, see mantis bug #1322)

	  This commit fixess issue 1314

2009-10-25 16:01 Marco Roveri <roveri@fbk.eu>

	* Scripts to remove strings from an SMV file

	  Usage: remove_strings.pl < file.smv > rep.sh cp file.smv
	  file_ns.smv sh ./rep.sh file_ns.smv

	  All the strings are replaced with a unique name of the form
	  ___MMMM<num>___

2009-10-23 13:57 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Relaxed a condition in the FlatHierarchy_mergeinto. The check
	  now controls if there are no duplicate assignments according to
	  the user-manual section "Rules of assignments"

2009-10-23 13:49 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added experimental support for relational operators in MSatSBMC.
	  command msat_check_ltlspec_sbmc_inc is now stable enough to be
	  tested.

2009-10-23 13:34 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added CTX extraction for MathSAT based SBMC LTL checking.

2009-10-23 12:23 Marco Bozzano <mbozzano@fbk.eu>

	* Added a function to order a fault tree.  Active only in COMPASS
	  mode.  Order a FT according to a canonical order as follows:

	  /** Order all the siblings of a fault tree according to a
	  canonical order.  Exception: children of a PAND gate are not
	  re-ordered.

	  Leaves come first, ordered by alphabetical sorting on their
	  description string. Gates are ordered according to their type
	  (AND, PAND, OR, NG).  Same gates are ordered according to number
	  of children (first gates with fewer children). Same gates with
	  the same number of children are ordered lexicograpically,
	  depending on the description strings of the children.  */

	  It can be used for fault tolerance evaluation.

2009-10-22 15:58 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Some bugfixes:

	  - non-leaf GRNode's bdd_fsm was used for retrieving the
	  ddmanager, but only leaf GRNodes have a valid bdd_fsm pointer. A
	  valid reference to the BddEnc to all GRNodes has been added.

	  - TRUE and FALSE operators were not handled by the
	  sere_normalize_node. Added the support

	  - the sexp_fsm used for all operations of the reach_invar_gr
	  command was not initialized, causing the command to result in an
	  assertion error. it has been initialized to the master scalar
	  sexp fsm

2009-10-22 13:21 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  New SBMC port to MathSAT. Now entering testing. However, there
	  are a few known shortcomings that will be addressed ASAP:

	  1. CTX extraction has not yet been ported; 2. A few internal
	  functions need to be extended to support relational operators;

2009-10-22 12:42 Alessandro Mariotti <mariotti@fbk.eu>

	* Added control to all commands that use some HRC API.

	  If the HRC structure has not been built (ie when the model
	  contains processes or isa), the user is warned and the command
	  execution fails, returning the control to the user instead of
	  throwing an assertion.

2009-10-22 12:39 Alessandro Mariotti <mariotti@fbk.eu>

	* Added warning for HRC when the model contains ISA or PROCESSes.
	  In this case, the user is warned and the HRC structure is freed
	  and set to NULL.

2009-10-22 08:34 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  Fixed a corner case when the problem is FALSE and
	  there are no mathsat variables encoded.  In that case, the set
	  of preferred variables is empty.

	  Thanks for [RC] for debugging the problem.

2009-10-22 07:39 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  Bool_fsm must not be built when mathsat is used.

2009-10-21 11:43 Alessandro Mariotti <mariotti@fbk.eu>

	* FEEDBACK integration

	  Refactored code according to MR feedback

	  The code by default uses the internal function instead of the
	  COI system

2009-10-21 11:40 Alessandro Mariotti <mariotti@fbk.eu>

	* API improvements

	  Added HrcNode_CanDeclareAssignent, which tells in O(1) if an
	  assignment can be declared within the node.

	  All HrcNode_[Add/Replace/Set][Invar/Next/Init]Assign have been
	  modified in order to check if assignments are added consistently

	  Some freeing of internal structures have been improved (lists
	  were iterated twice for memory freeing)

2009-10-21 08:24 Andrea Micheli <amicheli@fbk.eu>

	* Implemented BDD-BMC hybrid approach in check_invar. It is now
	  possible to specify 'bdd-bmc' as check_invar strategy and an
	  heuristic for the switch from BDD to BMC.

	  The mcInvar.c code was factorized to use a single function and
	  the bmcBmcNonInc.c code was factorized as well to extract the
	  BMC algorithms.

	  Still missing manual entry for the new feature.

	  ** WARNING ** This commit is experimental and needs MR's code
	  review, the whole system has been tagged before this commit as
	  'before_adding_bdd_bmc_hybrid_approach__21102009'

2009-10-19 14:44 Marco Roveri <roveri@fbk.eu>

	* - attached guided reachability to the command line; - created a
	  command _guided_reachability_debug that checks wether guided
	  reachability computes the same set of reachables states as
	  standard reachability algorithm. It also prints with verbosity
	  greater than 0 the formulas that are in the set of reachable
	  states computed with standard algorithm and not in the set of
	  reachable states computed with guided reachability, and
	  viceversa.  - minor fixes

	  This code compiles, link, however it is not yet running. This is
	  just for backup purposes.

2009-10-19 12:12 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIXes - IMPROVEMENTS

	  Beta version of the hrcLocalizer. It uses a new internal
	  function as COI alternative. COI APIs can be still used setting
	  to 1 the USE_CONE_OF_INFLUENCE define at the beginning of the
	  file.

	  NB: The COI version has some known bugs: - Constant expression
	  parameters may lead to errors - The use of the SELF operator is
	  not always correctly handled

	  Some code review feedback has also been implemented, there is
	  still a lot of work / refactoring, however, this version should
	  be usable and almost stable.

	  Still not supported: - COMPUTE properties

2009-10-16 16:30 Marco Roveri <roveri@fbk.eu>

	* Initial skeleton routine for converting a reduced SERE to the
	  structure needed for guided reachability. Simplification of F
	  still to be added. Just a baackup.

2009-10-15 19:07 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE CONNECTION

	  package simp/reach and its command check_invar_gr are connected
	  to NUSMV.

2009-10-15 19:06 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEWCODE

	  README has descrition of PSL semantics we are going to use.
	  reachCmd now process input PSL, type checkes it, normalizes.

	  NOT DONE: 1. create simplified FSM for every NuSMV term.  2. run
	  PSL execution function which will check the invariants.

2009-10-15 13:25 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug in model extraction code. No trace was created if
	  the language for the model is empty. This caused an assertion to
	  fail later on. Now this is fixed by creating an empty
	  trace. This commit fixes issue #1303.

2009-10-13 17:35 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW PACKAGE

	  This is a beginning of Guided Realizability implementation.
	  Files are not connected to NuSMV yet and not tested.

2009-10-13 17:31 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  New function Parser_read_psl_from_file.  Not tested yet.

2009-10-13 14:28 Marco Pensallorto <pensallorto@fbk.eu>

	* NEW FEATURE

	  Added draft support for SMT-based SBMC. Currently developing
	  incremental SBMC LTLSPEC checking. Initial commit. Builds ok.

2009-10-12 15:42 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug with SELF reference issues.

	  The hrcLocalize.c is still in testing and has still some known
	  bugs: - Constant actual parameters -> The parameter is added
	  even if not used - Some non-constant parameters are added even
	  if not used

2009-10-12 14:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1300

	  A bug in OrdGroups_copy function was surfacing in cegar, as
	  reported in http://es.fbk.eu/bugs/view.php?id=1300

	  FIXED

2009-10-09 10:10 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Resolved segmentation fault on 32 bit machines. While searching
	  for a common prefix in 2 symbols, it happened that the routine
	  was called with non-node_ptr variables, trying to read raw
	  memory

	  Also fixed bug with defines such as DEFINE m[0] := TRUE;. These
	  where resolved as simply "m", resulting in an undefined symbol

2009-10-09 09:23 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Now the hrc_localize_model checks if the flatten hierarchy has
	  been built before proceeding with any operation.

	  See mantis issue #1297

2009-10-09 08:25 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - Fixed issue with constant parameters: If the actual parameter
	  was a constant, then the parameter was not added in the
	  localized model even if needed

	  - Fixed bug with "inter-modular" defines. If a define was
	  declared into an instance from within another instance, it was
	  not added to the localized model even if needed

	  Example of "inter-modular" define: MODULE main a : mod1(self)

	  MODULE mod1(p) DEFINE p.hello := TRUE

2009-10-08 16:19 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  - Fixed issue with constant parameters: If the actual parameter
	  was a constant, then the parameter was not added in the
	  localized model even if needed

	  - Fixed bug with "inter-modular" defines. If a define was
	  declared into an instance from within another instance, it was
	  not added to the localized model even if needed

	  Example of "inter-modular" define: MODULE main a : mod1(self)

	  MODULE mod1(p) DEFINE p.hello := TRUE

2009-10-06 14:26 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed bug detection evaluation of unique values for observable
	  symbols according to discussion with AC on this topic.

	  This approach tries to demonstrate that there is only one
	  possible value for the mismatching observable symbol and prints
	  it out if this is the case. Appropriate diagnostic message is
	  printed if no unique value could not be determined for the
	  observable.

2009-10-06 14:13 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX mantis issue #0001283

	  The array elements where not taken in count as depencencies if
	  passed as argument an array variable.

	  Resolving the array variable name given the array element and
	  returning it as depencency fixed the problem

2009-10-06 11:56 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed mantis issue 0001231

	  When a variable was declared as constant (because of it was a
	  single-value variable), the hrc structure did not include the
	  new constant and the new define

2009-10-06 10:18 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX (Mantis issue 1249)

	  Fairness constraints where treated like compassion constraints
	  due to a copy & paste error -> Solved

	  This was extending the bug of the compassions constraints even
	  to JUSTICE/FAIRNESS. The compassion bug has been fixed and
	  consequently the FAIRNESS bug is fixed as well.

	  The problem was that the compassion constraints where not
	  treated like a list of couples, leading to memory sharing
	  problems.

2009-10-06 09:47 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added partial experimental support for unique completion and bug
	  detection to the SMT based partial re-execution command.

2009-10-06 09:45 Marco Pensallorto <pensallorto@fbk.eu>

	* REFACTORING

	  Better support for word values in the trace xml loader. This
	  needs to be discussed with MR as part of code review for this
	  code.

2009-10-06 09:43 Marco Pensallorto <pensallorto@fbk.eu>

	* EXPERIMENTAL

	  Commented an assertion that caused crash under certain known
	  conditions. Need to discuss this with RC.

	  Added a warning as a reminder.

2009-10-05 15:38 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Solved mantis issue #1263. When used more than once, the
	  hrc_localize_localize_model resulted in segfault: The problem
	  was a memory sharing problem between HRCNodes. When doing
	  localization, when declaring symbols (vars & [m]defines) or
	  assignments, the same node (created with cons) was used in two
	  differend hrc nodes. When freeing one of the two, the other
	  became unusable resulting in segfault

	  Solved mantis issue #1251: Context concatenation was not
	  correctly handled. Now hrcLocalize uses compile_contat_contexts
	  and does not loop.

2009-10-05 13:13 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed build problem when expat was not enabled. This was due to
	  a missing entry in the modified Makefile.am. This commit fixes
	  issue #1288

2009-10-05 11:07 Marco Roveri <roveri@fbk.eu>

	* Extended the language to support three new operations:

	  resize(W,N): takes a word expression of size M and resize it to
	  an unsigned word of size N

	  sizeof(W) : takes an word expression and returns the number of
	  bits of the word

	  toint(W) : takes a word constant expression or a numeric
	  constant expression and convert the resulting number to an
	  integer.

	  Here some examples of use.

	  DEFINE B1 := 0d32_11; B2 := 0d32_10 + B1 - 0d32_1;

	  INIT z = - uwconst(toint(B1+B2+0d32_1), 1);

	  INIT x + uwconst(sizeof(x), 1) = uwconst(sizeof(x), 2)

	  The extension has been preceeded by the tag
	  "before_resize_sizeof_toint_20091005" and will be followed by
	  the tag after_resize_sizeof_toint_20091005

2009-10-02 15:25 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Hrc Localization did not keep multiple constraints
	  (init,invar..)

	  The bug has been resolved. (See mantis issue #1261)

2009-10-02 13:20 Alessandro Mariotti <mariotti@fbk.eu>

	* Added support for invariant specifications verification using
	  localized models. This verification can be used using the '-l'
	  option of the check_invar command. use check_invar -h for the
	  usage of the option

	  NB: It misses support for BDD + BMC verification

2009-10-02 11:43 Alessandro Mariotti <mariotti@fbk.eu>

	* Correction on wrong output introduced for a copy & paste error

	  in the parameter declaration, with verbosity on was wrongly
	  printed "declaring new DEFINE" instead of "declaring new
	  parameter"

2009-10-01 10:17 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Removed all calls of sprintf where the destinations string was
	  also one of the source strings

	  For example:

	  sprintf(cmd, "%s;%s", cmd, "ciop");

2009-09-30 22:01 Marco Pensallorto <pensallorto@fbk.eu>

	* REFACTORING

	  Optimization obtained by avoiding the memoization for
	  constants. This could result in slightly faster results lookup.

2009-09-30 21:47 Marco Pensallorto <pensallorto@fbk.eu>

	* PERFORMANCE

	  Optimized trace evaluation algorithm by smarter memoization
	  strategy.

2009-09-30 15:34 Alessandro Mariotti <mariotti@fbk.eu>

	* Replaced all *printf, internal_error, rpterr calls as follows:

	  printf(FILEID, str) -> printf(FILEID, "%s", str)

	  The CVS has been tagged before
	  (before_rewriting_unsafe_printer_calls_300909)

2009-09-30 14:04 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a few bugs in TraceXmlLoader. This code is still under
	  testing, however no major bugs are currently known.

2009-09-29 20:26 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added several test cases to the trace package test suite Many
	  are courtesy of AT. Currently a few test fail, I'm currently
	  investigating the causes of such failures.

2009-09-28 13:32 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Fixed bug with property names. If a property is declared within
	  a module, and the module is istanciated more than once, the
	  flattener results in an redefining property error.

	  The bug was that the property name was not flattened with it's
	  context

2009-09-28 10:11 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Early draft of MathSAT-based SBMC model checking algorithms.
	  This is a maintenance commit, the code is not included yet into
	  the build system.

2009-09-27 12:06 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug in memoization in sexp-to-term translation that
	  caused several type-checking related issues. This commit fixes
	  #1274, #1275, #1276, #1278

2009-09-25 12:03 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a bug introduced by the previous commit which caused an
	  allocation of a negative number of bytes.

2009-09-25 09:57 Alessandro Mariotti <mariotti@fbk.eu>

	* Added the test suite for the hrc flattener. It also tests hrc
	  localization on all models

	  the two text files are models on which there are knowns bugs

2009-09-25 09:09 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in bdd-based ltl.

	  When rewriting ltl properties, only a subset of the language was
	  declared within the tableau FSM. This resulted in a wrong (not
	  enough constrained) FSM, as the missing part of the language
	  would not occur within the trans.

2009-09-25 09:06 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNCTION Added support for self-checking of the FH and the
	  SexpFsm.  Self checking can be called explicitly, or the SexpFsm
	  can be set to perform self-checking at construction
	  time. Self-checking must be enabled at compile time.

2009-09-24 17:28 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Wrong use of pointers ... fixed, need to use dynamic allocation
	  of msat_term.

	  Now preferred variables in mathsat is working.

2009-09-24 16:28 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Basically no preferred vars were introduced ... (even in the
	  discrete case) due to a wrong if statement filtering model
	  variables out (model variables were skipped, why ???).

	  Not sure when this bug was introduced, I wasn't able to trace it
	  back in cvs.

	  Fixed in both the discrete case and the hybrid case.

	  Now using the ComputeVariableListBdd existing function to
	  retrieve the failure mode variables (no need to traverse the
	  model symbols), so the if statement is simpy not there anymore.

2009-09-24 12:06 Alessandro Mariotti <mariotti@fbk.eu>

	* Added command _test_hrc_flattener. The command is enabled only
	  if HRC_FLATTENER_TEST in hrcCmd.c is set to 1. (By default is
	  disabled)

	  The command test the hrcflattener and with option -p tests the
	  hrc localization system on the powerset of all variables

2009-09-23 15:11 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  Forgot to reset to variables upon quitting the
	  package, which caused a problem with reset.

2009-09-23 12:38 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Relaxed Trace protocol to allow Trace_inhibit_defines_evaluation
	  even after defines have already been calculated. This was
	  necessary to allow disabling traces evaluation upon Trace
	  destroying.

	  Remark: this commit needs to be discussed with RC/

2009-09-23 12:29 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Disabled auto-evalution of defines in traces when destroying a
	  trace.

2009-09-23 12:20 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug that caused incomplete simplification with NOT
	  nodes.  This commit partially fixes issue #1255

2009-09-23 09:48 Alessandro Mariotti <mariotti@fbk.eu>

	* -- BUGFIX --

	  HrcNode_destroy_recur was calling itself on an unset list
	  instead of on his children list, causing an assertion error

	  HrcQuit was using Hrc_destroy instead of Hrc_destroy_recur,
	  causing a memory leak

2009-09-23 09:35 Andrea Micheli <amicheli@fbk.eu>

	* Factorized BMC induction algorithm moving the 'real' algorithm
	  in a separated function callable from outside the BMC package.

	  This factoriaztion is needed for combination of BDD and BMC
	  technologies.

2009-09-22 16:41 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug that caused a assertion failure (Null pointer, never
	  initialized)

2009-09-22 16:33 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  - Caused a bug in model extraction from MathSAT that caused
	  incorrect assignments to variables in the trace. The type errors
	  were caused by this problem.

	  - Fixed a bug in TraceXMLLoader that caused a random segfault
	  when a trace with no transitions was loaded.

	  This commit fixes issue #1252

2009-09-22 13:34 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug that caused ordering not be preserved when printing
	  out a trace. This commit fixes issue #1229

2009-09-22 09:50 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Implemented better error handling and early termination in
	  TraceXMLLoader. This commit fixes issue #1247

2009-09-22 08:06 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Relaxed evaluation sanity check, allowing UMINUS nodes. This
	  fixes a bug that caused an internal error to be raised if a
	  UMINUS node was encountered as the result of the evaluation of a
	  define.

	  This commit fixes issue #1248

2009-09-22 07:39 Andrea Micheli <amicheli@fbk.eu>

	* Added method 'SymbTable_get_matrix_defines' to SymbolTable API
	  to be consistent with other types of symbol. This function is
	  also needed by [AMa].

2009-09-21 20:37 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  XML Loader never closed the file with XML trace. This bug was
	  caused by declaring two variables with the same name in two
	  scope and using them as if only one var was declared.

2009-09-21 18:57 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  Before this bug fix during interactive simulation a buffer used
	  to read user input constraints was fixed to 256 bytes. Thus it
	  was impossible to read an expression longer than 256 bytes.

	  Now a dynamic buffer is implemented which is able to read any
	  expression.  NB: The buffer is aware of "reset" command.

2009-09-21 15:27 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Variables where not correctly added to the created hierarchy ->
	  Fixed

2009-09-21 15:21 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE + PARTIAL REFACTORING

	  - Added support for reals in expressions using MathSAT. If such
	  an expression is encountered and mathsat addon is not enabled an
	  internal error is raised.

	  - Minor changes in the control flow of Trace_evaluate_expr

2009-09-21 15:08 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Created hierarchy did not contain any variable, resulting in an
	  unusable SexpFsm. Fixed adding all variables to the created
	  hierarchy

2009-09-21 12:54 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added local support for Reals in trace evaluation using MathS
	  normalization capabilities. First draft, needs optimization and
	  clean-up

2009-09-21 12:43 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  updated SexpFsm_is_syntactically_universal method: It was
	  wrongly assumed that justice and compassion where sexp
	  expression instead of list (copy & paste error).

2009-09-21 12:41 Alessandro Mariotti <mariotti@fbk.eu>

	* - Added support for array operations - Fixed a bug on IFF /
	  IMPLIES operators rewriting -> When building the tree, the
	  polarity was computed wrong - Added support for IMPLIES nodes in
	  the "sub-formulas skipping" simplification - Some code
	  refactoring according to latests VS notes

2009-09-21 11:35 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug in trace loading. The bug caused a state symbol in
	  combinatorial to apply to NEXT state instead of CURRENT. This
	  commit fixes issue #1239.

2009-09-21 08:31 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug that caused success return code upon errors in
	  CommandReadTrace. This commit fixes issue #0001238

2009-09-18 12:49 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  - Added partial support for reals in arithmetical operators in
	  Expr.c.  Affected functions are Expr_minus, Expr_plus,
	  Expr_divide, Expr_times, Expr_mod.

	  - Revised previous fix for relational operators

2009-09-18 08:17 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Relaxed checks upon trace reading from an XML on the
	  COMBINATORIAL section. COMBINATORIAL section can now contain any
	  symbol.

	  This commit partially fixes issue #1236

2009-09-17 14:30 Marco Pensallorto <pensallorto@fbk.eu>

	* TEMPORARY BUG FIX

	  Fixed issue #1232 by adding support for reals to Expr
	  simplifier.

	  Notice: this is a quick and dirty solution, that needs to be
	  revised and thought of. I will post a ticket in mantis to keep
	  track of this issue.

2009-09-17 13:24 Andrea Micheli <amicheli@fbk.eu>

	* Refactored BDD based invar checking using a single function
	  instedad of three. Now forward and backward analysis are done
	  using constant heuristics in forward-backward analysis.

2009-09-17 13:02 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed a couple of bugs:

	  MDEFINEs where not correctly handled (Where not recursively
	  declared)

	  "self" parameter was not correctly resolved.

2009-09-17 12:45 Andrea Micheli <amicheli@fbk.eu>

	* Bugfix & Improvement

	  Modified the way monitor construction for invar checking with
	  next and input gets the cone: instead of pretending the COI for
	  the property now uses Formula_GetDependenciesByType. This allows
	  the correct checking of such properties without the variable
	  "cone_of_influence" activated.

2009-09-17 11:49 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING

	  This refactoring is intended to remove the global Type Checker,
	  and move TC into the Symbol Table.

	  Now each ST is associated to (its own) TC. It is still possible
	  to construct a stand-alone TC associated with any ST.

	  This refactoring: 1. removes the global TC and all accessors to
	  it

	  2. adds method get_type_checker to the

	  3. the ST has one TC, and handles the life cycle of its own TC

	  4. adds method get_type_checker to BaseEnc

	  5. removes get_type_checker from BddEnc

	  6. removes the TC from the PredicateNormalizer's constructor,
	  and substitutes the TC with a

	  7. renames all method called 'get_symbol_table' to
	  'get_symb_table' to have a consistent interface when getting a

	  8. fixes several internal or external interfaces to get a ST
	  when required. (however, there are still several modules in
	  which is taken from the global state instead of being passed
	  down explicitly)

	  10. removes module compile/type_checking/type_checking

	  9. fixes cegar accordingly


	  WARNING1: there are two places which AMa and ST should look
	  into.  They are marked with warnings "RC to {AMa,ST}"

	  WARNING2: This commit may break nusmv and or cegar. Refer to tag
	  before_removing_global_TC__20090916 for retrieveing the previous
	  version.

2009-09-17 08:55 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1221 (http://es.fbk.eu/bugs/view.php?id=1221) adding
	  missing type error condition for IFTHENELSE node in
	  CheckerCore.c

2009-09-16 16:06 Alessandro Mariotti <mariotti@fbk.eu>

	* Added class HRC flattener, which provides functions to build a
	  FlatHierarchy given an HRC hierarchy.

	  The class provides 2 top level functions:


	  HrcToFlatHierarchy HrcToSexpFsm

	  and some lower level functions

2009-09-16 12:19 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added theory lemma dumping to msat_check_ltlspec_bmc command.
	  Theory lemmas up to required length can be optionally dumped by
	  using the -t option of msat_check_ltlspec_bmc command.

	  This feature is still experimental and needs to be ported to
	  other msat_check* commands as well.

2009-09-16 10:02 Andrea Micheli <amicheli@fbk.eu>

	* Implemented backward-forward invariant checking algorithm.

	  The system now accepts a new variable which is
	  'forward_backward_heuristic' which controls the heuristic used
	  to decide whether the pass will be forward or backward. command
	  'check_invar' has new option which enforces the heuristic.

	  NOTE: This commit needs MR code review.

2009-09-16 09:53 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Partial fix for issue #1222. Defines whose body is an array must
	  not be evaluated.

2009-09-16 08:46 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed bug that caused Formula_GetDependenciesByType to return
	  the wrong set of dependencies under certain conditions. See
	  issue #1224 for further details on this problem.

	  The bugfix consists in taking time into account when bulding a
	  key for the internal hashtable used for results caching.

	  This commit fixes issue #1224

2009-09-15 16:12 Alessandro Mariotti <mariotti@fbk.eu>

	* Code refactoring:

	  The whole system has been updated in order to use the new symbol
	  table APIs for parameters handling.

	  a cvs has been tagged before this commit, see
	  "before_symb_table_parameters_support" tag

	  a cvs tag will be created after this commit, named
	  "after_symb_table_parameters_support"

	  ** Code needs review and some testing. **

	  Some testing has been already done (even with matrix and array
	  parameters)

2009-09-15 15:50 Alessandro Mariotti <mariotti@fbk.eu>

	* Symbol Table API Improvement:

	  Now Symbol Table, Symbol Layer and Symbol Cache can handle
	  module parameters.

	  The new APIs are similar to the DEFINE ones.

	  This commit does not include code refactoring for the use of the
	  new APIs

2009-09-14 14:57 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added an include to fix an implicit function declaration
	  warning.

2009-09-14 14:49 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added a new API to MSatEnc that enables theory lemmas extraction
	  after solving a problem with MathSAT. A new function, called
	  MSatEnc_get_theory_lemmas has been added. This function returns
	  a CONS of sexps each representing a theory lemma. The function
	  is intended to called after solving.

2009-09-14 14:49 Andrea Micheli <amicheli@fbk.eu>

	* Introduced backward strategy in invariant checking. The command
	  'check_invar' now accepts a new parameter [-s strategy] where
	  strategy can be either 'forward' or 'backward'. If -s is not
	  specified then the value of 'invar_check_strategy' variable is
	  used (by default 'forward' strategy is used).

	  NOTE: This commit is still experimental and needs MR code
	  review.

2009-09-14 13:00 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug that caused state defines to be taken into account
	  when building the Tableau for MSatBMC. This caused the error
	  described in issue #1218. The fix consists in retrieving state
	  vars only from the SymbTable instead of all symbols.

	  This commit fixes issue #1218

2009-09-14 12:50 Marco Pensallorto <pensallorto@fbk.eu>

	* DEBUG

	  Added a few lines of debug to function
	  MSatBmcInt_Tableau_GetAtTime.  for unsupported nodes printout.

2009-09-14 09:50 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE

	  Added perfect sharing support to MSatEnc_expr_to_term.

2009-09-14 08:54 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed "unexpected attime node" that occurred in MSatEnc when
	  trying to booleanize atoms in which there are timed non-boolean
	  variables.  This problem shows when using certain BMC algorithms
	  with MathSAT.

	  The problem was caused by the booleanizer (Compile_expr2bexpr)
	  that does not support ATTIME nodes.

	  The fix consisted in performing a local rewriting of the formula
	  to resolve a few supported operators (EQUAL, NOTEQUAL, EQDEF) in
	  a way that is supported by the booleanizer. This (partial)
	  solution was suggested by MR.

2009-09-11 15:25 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  1. Fixed support for FROZENVARs as of issue #1211 2. Added
	  limited support for ATTIME nodes. This fixes issue #1200, #1203

2009-09-11 13:06 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed an allocation problem caused by the copy of reachable
	  states not already computed.

2009-09-11 12:37 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  1. Fixed prerequisites checks for execute_traces and
	  execute_partial_traces 2. Revised clean-up code for both
	  commands (had a few minor bugs)

2009-09-10 17:03 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Fixed issue 0001205.

	  It was due to the history_list field in the COMPASS task data
	  structure, that was not re-initialized after a reset.

	  Solution: as part of sa_quit we also reset the COMPASS task file
	  altogether. This seems the most pincipled solution: after a
	  reset, the COMPASS task file will be read from scratch, if
	  needed.

	  [MBOzz]

2009-09-10 15:52 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Relaxed the check before read_trace. As stated by requiring
	  'encode_variables' command is sufficient to load a trace from
	  XML. This commit fixes issue #1206

2009-09-10 15:31 Andrea Micheli <amicheli@fbk.eu>

	* Added incrementality to reachability analysis and invariant
	  checking: now the reachable states are cached even if they are
	  not completed and the invariant cheching algorithm does not
	  recalculate states.

	  NOTE: This commmit is waiting for MR code review and it has to
	  be considered experimental. The repository was tagged before
	  this commit with name
	  'before_adding_incremental_reachability_analysis'

2009-09-10 14:32 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug in msat_enc_term_to_expr_recur that caused wrong
	  operators to be used in a few cases when building recursively a
	  sexp out of a msat_term.

2009-09-10 12:52 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Changed requisite check before partial and complete trace
	  execution using SAT. Now checks are performed to ensure that
	  both build_boolean_model and bmc_setup commands have been issued
	  before trace execution commands. This fixes issue #1207

2009-09-10 12:11 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Define symbols obtained using SymbTable_get_defines must not be
	  destroyed ... as a difference with state vars!

	  The destroy was not removed when porting to the new Boolean
	  events monitor ...

2009-09-10 11:44 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX

	  Solved issue on reduction of enumeratives. It was assumed that
	  no intervals within enums could be returned by the range
	  extractor.

	  Removed "encode_variables" command execution dependency from the
	  check_ltlspec_simpl command

2009-09-10 09:52 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  Searching through defines instead of state vars when
	  looking for fault vars.

2009-09-10 09:51 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in interval's values iteration.  Thanks to
	  AMa for reporting it.

2009-09-10 08:31 Marco Bozzano <mbozzano@fbk.eu>

	* MAJOR CHANGE in COMPASS mode: fault variables are now Boolean
	  event variables, encoded as defines.  Changed history variables
	  monitor accordingly.  Basic testing done.

2009-09-09 14:07 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  1. Fixed wrong header in MSatEnc.c 2. Fixed warnings in
	  MSatEnc.c 3. Fixed MSatEnc_normalize_expr in order properly to
	  distinguish among timed and untimed expressions.

2009-09-09 12:40 Marco Pensallorto <pensallorto@fbk.eu>

	* DEBUG

	  Added a sanity check. A warning is emitted if mismatching
	  assignments to defines are detected. Should not affect any other
	  code

2009-09-09 11:39 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIXES

	  1. Introduced new trace protocol as of issue #1202. This
	  restores previous backward compatible behavior of traces for
	  existing code.

	  2. Modified the trace loader to inhibit re-evaluation of
	  defines.  Thus defines coming from the XML file are preserved.

	  3. Fixed a bug that caused an internal error when artifacts
	  variables were in a trace during displaying.

2009-09-08 15:12 Alessandro Mariotti <mariotti@fbk.eu>

	* range.c (Range Extraction) was using global TypeChecker.  The
	  code has been made re-entrant and now the range extractor takes
	  a TypeChecker as argument.

	  All callers have been updated in accordance with the new API.

2009-09-08 14:49 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Expr_* called by Expr_resolve do exploit the ST for
	  simplification, which is a prerogative of Expr_simplify.

2009-09-08 14:41 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  In compass mode and BMC_BUILD mode, setting the master scalar
	  sexp fsm.  Needed by Mathsat!

	  Fixes issue 0001191 in mantis.

2009-09-08 12:49 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Removed defines consistency check from loader. Additional
	  constraints on state-input and state-input next defines have
	  been added to the three complete-trace execution engines (BDD,
	  SAT, SMT).

	  The consistency check code is now used, only in case of failure
	  of the execution, to detect inconsistencies in the defines. A
	  Warning is issued for every detected inconsistency

2009-09-08 11:53 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Relaxed checks on traces. Now state-only and input-only defines
	  are allowed in COMBINATORIAL section as well.

2009-09-07 17:10 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Partial code review feedback integration. This needs a bit more
	  work.

2009-09-07 16:01 Alessandro Mariotti <mariotti@fbk.eu>

	* Solved a bug: When using both check_ltlspec and
	  check_ltlspec_simpl, modules were redefined resulting in an
	  error. Now SimpLtl.c uses the same method ad ltl.c which has is
	  own counter for defining modules

2009-09-07 15:37 Alessandro Mariotti <mariotti@fbk.eu>

	* Refactored code according to MR code review.

	  Fixed issue #1179 (Wrong simplification performed). An error on
	  assignments rewriting resulted into a wrong simplification

2009-09-07 13:55 Alessandro Mariotti <mariotti@fbk.eu>

	* Refactored code according to VS code review directives.

	  Also fixed some bugs: - Bug on dotted notation (it was not
	  supported) - Nodes handling bug (Not all LTL nodes where
	  supported) - Fixed sub-formula skipping optimization bug
	  (polarity was not taken in count) - Core extraction of multiple
	  ltl properties (solved seg fault) - Vacuity error (When
	  strenghening, the top-level formula was not taken in count)

2009-09-07 09:25 Marco Bozzano <mbozzano@fbk.eu>

	* Added management of additional clauses.  Implemented function
	  find_bdd_mcs_msat; it takes the last state of the trace (should
	  be OK for bmc).

	  Only some basic testing done.

2009-09-07 07:30 Andrea Micheli <amicheli@fbk.eu>

	* Rolled back old zigzag algorithm following [AC] directives, the
	  previously committed version changed the algorithm in a wrong
	  way. The problem with this implementation comes from bug #1194
	  (http://es.fbk.eu/bugs/view.php?id=1194) and not from this file.

2009-09-04 16:06 Marco Bozzano <mbozzano@fbk.eu>

	* Implemented function compute_fault_isolation_msat_bmc, on top of
	  compute_fault_tree_msat_bmc.

	  UNTESTED.

2009-09-04 15:18 Andrea Micheli <amicheli@fbk.eu>

	* Fixed problem in zigzag algorithm changing the calling order of
	  SAT-solving interface. However see the bug #1194
	  (http://es.fbk.eu/bugs/view.php?id=1194) since the previous
	  zigzag algorithm was also correct modulo this problem.

2009-09-04 14:24 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIXES

	  1. Fixed a few bugs which make commands execute_traces and
	  execute_partial_traces return success even if some a problem has
	  happen.

	  2. Fixed a few help messages and documention comments.

2009-09-04 13:29 Marco Bozzano <mbozzano@fbk.eu>

	* Skeleton for function compute_fault_tree_msat_bmc.  A
	  sub-function still to be implemented.  Also, blocking clauses
	  addition tobe implemented.

	  To be completed.

2009-09-04 13:24 Roberto Cavada <cavada@fbk.eu>

	* PORTABILITY FIX

	  It seems that macro ULLONG_MAX (in <limits.h>) is not supported
	  by all compilers.

	  (It was found on my gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44),
	  but not found on older compilers).

	  Now ULONG_MAX is used when ULLONG_MAX is not found.

2009-09-04 12:44 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Added VarDomain class, which allow for extraction of variable
	  types as set of intervals and literals.

	  WARNING: This breaks temporary range reduction (partially still
	  based on old code, needs fixing). (Range extraction should be
	  working instead) !!! DO NOT USE RR UNTIL PORTING IS COMPLETE !!!

	  WARNING: extensive testing is still to be done, some (even
	  trivial) cases might be not currently covered.

	  WARNING: there are still some issues open about this
	  implementation.  In particular:

	  1. For some operators (*, / and shifts) over-approximation may
	  be substituted by exact calculation when the cardinalties are
	  under a threshold. They will be fixed asap.  2. Modulo operator
	  can be very inefficient.  3. A bug is still open about correct
	  detection of missing fixpoint.

2009-09-04 11:44 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Follows up previous commit about Sset.h

2009-09-04 11:43 Roberto Cavada <cavada@fbk.eu>

	* FEATURES, BUG FIXES, CLEANUPS Improved class Sset:

	  1. Added new methods: EXTERN Ssiter Sset_find_le ARGS((Sset_ptr
	  self, signed long long int key)); EXTERN Ssiter Sset_find_ge
	  ARGS((Sset_ptr self, signed long long int key)); EXTERN Sset_ptr
	  Sset_copy_func ARGS((const Sset_ptr self, void*
	  (*func)(void*)));

	  2. FIXED issues about 64 bit

	  3. Some cleanups and fixing of typos

2009-09-04 11:24 Marco Bozzano <mbozzano@fbk.eu>

	* Finished code for function compute_fault_detection_msat_bmc.

	  UNTESTED.

	  [MBOzz]

2009-09-04 09:22 Andrea Micheli <amicheli@fbk.eu>

	* Implemented possibility of next'ed expressions and input
	  variables in INVARSPEC properties with BDD and BMC.

	  See discussion #1174 on mantis
	  (http://es.fbk.eu/bugs/view.php?id=1174)

	  NOTE: This commit is experimental and need MR's code review, the
	  repository was tagged before this commit.

2009-09-04 09:14 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* SYNTACTIC FIXES

	  A few #warning messages had not-paired " and ' characters.
	  mingw gcc reports such situations as errors.  I put additional
	  or removed existing " and ' in such cases.

2009-09-04 08:50 Marco Pensallorto <pensallorto@fbk.eu>

	* NEW FEATURE

	  - Added a public msat_term-to-sexp conversion function.
	  (MSatEnc_term_to_expr)

	  - Added a public function to the MathSAT package to exploit
	  normalization/simplification features of the SMT solver. This is
	  done by converting an expression into a msat_term and then
	  converting it back into a sexp.  (MSatEnc_normalize_expr)

	  - Added a test command that can be used to experiment with the
	  normalization API.  (_normalize_expr)

2009-09-03 17:06 Marco Bozzano <mbozzano@fbk.eu>

	* Added BMC length and loop parameters.  Completed code for
	  generate_fmea_table_msat_bmc_recur.

	  This should complete code for function
	  compute_fmea_table_msat_bmc.

	  UNTESTED!

	  [MBOzz]

2009-09-03 13:26 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a bug in relational operators simplification functions
	  that caused wrong results when handling signed words. The
	  relational operators have been rewritten using the appropriate
	  WordNumber APIs to compare WordNumber values.

	  The fix affected the following functions: Expr_equal,
	  Expr_notequal, Expr_le, Expr_lt, Expr_ge, Expr_gt

2009-09-03 12:18 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added new function WordNumber_get_sign

2009-08-31 13:50 Marco Pensallorto <pensallorto@fbk.eu>

	* COMPILER

	  - Fixed issues #1161 (and related #1164). The fix consisted in
	  small modifications to function compileExpressionHasNextInputs
	  to analyze recursively defines bodies. Tested with MDEFINES too.

	  - Added a suite test for this bug (/nusmv/test/bug_1161)

2009-08-31 13:46 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  - Added two more tests for bug #1161.  - Revised test script

2009-08-31 12:55 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added test case for bug 1161: "Incorrect management of NEXTed
	  input variables in defines"

2009-08-31 10:16 Andrea Micheli <amicheli@fbk.eu>

	* Added method SymbTable_get_matrix_define_flatten_body in
	  SymbTable to get the flattened body of a MDEFINE. This function
	  is needed by

	  and is coherent with management of DEFINEs.

	  NOTE: this modification is not dangerous since it is only an
	  adding, anyway it has to be tested.

2009-08-31 07:53 Roberto Cavada <cavada@fbk.eu>

	* NEW OPTION, BUG FIX 1. Added option -f to 'extract_ranges' to be
	  able to control number of fixpoints.

	  2. Added 'next' case to the range evaluator, which was missing.

2009-08-28 15:23 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX Commit

	  1) Added support for Array type. This type was not handled.  2)
	  Fixed word size bug in the Range Reduction. The size of the word
	  was not cmputed correct

	  3) Fixed word reduction bug. If the size of the 2 word is the
	  same there is no need for adding a concatenation:

	  original model: VAR v : word[7]

	  reduced model: DEFINE v := UWCONST(0,7)::_v -> WRONG DEFINE v :=
	  _v -> CORRECT

2009-08-28 12:37 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed a couple of bugs:

	  1) normalized left part of assigns in order to avoid that some
	  assignments were missing in the resulting model

	  2) Changed the default name for simplification layers. These
	  should be named "model", which is the name of the layer where
	  symbols are taken when building the new languages. With this
	  approach, we can concatenate simplifications

	  3) Fixed a bug in the construction of assignments. next
	  assignments of process variables where not returned into the
	  original expression, but just added to the Hierarchy assigns
	  hash table. These assignments where lost error when
	  concatenating simplifications

2009-08-28 12:30 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1166

	  Non-deterministic expressions in EQUALS and IFF were not
	  acquired by the inliner. However, expressions coming from
	  invariant ASSIGNs were not checked.

	  See http://es.fbk.eu/bugs/view.php?id=1166

2009-08-28 08:03 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1144

	  Fixed a bug in the graph construction (used for the resolution
	  scheduling). The bug was causing the graph to apparently contain
	  loops which were not existing actually.

	  See http://es.fbk.eu/bugs/view.php?id=1144

2009-08-27 15:47 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Added loop detection in the graph used when scheduling
	  resolution of variable range extraction.

	  This was driven by issue #1144 but DOES NOT SOLVE THE BUG, only
	  detects the error condition and exists the execution reporting
	  an error.

	  Next commit will fix the issue.

	  See http://es.fbk.eu/bugs/view.php?id=1144

2009-08-27 15:06 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1140 Fixed simplification of NEXT(range) ==> range

	  See http://es.fbk.eu/bugs/view.php?id=1140

2009-08-27 15:03 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1168 Fixed range extraction assertion occurring with
	  predicates involving scalar operations with '1' and '0' leaves.

	  For details see http://es.fbk.eu/bugs/view.php?id=1168

2009-08-27 14:59 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Simplification was not simplifying all possible cases,
	  due to missing set of the temporary internal ST.

2009-08-27 12:38 Alessandro Mariotti <mariotti@fbk.eu>

	* Added support for Range Reduction Self-check over enumeratives.

	  If ADD_DEBUG_DATA is set to true, a special literal is added to
	  the enumerative and a new INVARSPEC is added to the model.

2009-08-27 11:52 Alessandro Mariotti <mariotti@fbk.eu>

	* Fixed some bugs into the ModelSimplifier. A check for
	  nondeterminism was added and will be removed when issue 1166
	  will be resolved.

	  RangeRed now supports range intervals (even if range extractor
	  does not)

	  ltl.c has been copied and modified in order to deal with
	  non-global structures and simplification

	  The command check_ltlspec_simpl has been added, which performs
	  model simplification and range reduction before the actual LTL
	  property verification

	  Code needs REVIEW and TESTING

2009-08-26 09:39 Marco Pensallorto <pensallorto@fbk.eu>

	* USER INTERFACE

	  Corrected a misleading error message in
	  error_trans_exp_contains_input_vars.

2009-08-25 15:48 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed 3 small bugs in PredicateNormaliser

	  1. Missing handling of NUMBER_EXPR 2. Missing handling of
	  IFTHENELSE 3. usage of #ifdef HAVE_CEGAR instead of #if
	  HAVE_CEGAR resulted in the conditional code to be always
	  compiled; IMHO the intended purpose here required #if (asked MR
	  about this)

2009-08-25 15:02 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug that caused a crash when an incomplete trace of
	  length 0 was re-executed using the BDD-based engine.

2009-08-25 14:57 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Corrected a small typo in a comment, missing a closing slash.

2009-08-25 12:58 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Prolonged time-out to 15 secs in order to let all test to
	  complete gracefully.

2009-08-25 12:36 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a small bug in test script

2009-08-25 12:35 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added script for SMT partial (no restart) trace re-execution
	  automated testing.

2009-08-25 12:26 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added script for SAT partial (no restart) trace re-execution
	  automated testing.

2009-08-25 12:16 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added script for BDD partial trace re-execution automated
	  testing.

2009-08-25 12:09 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added script for SMT complete trace re-execution automated
	  testing.

2009-08-25 12:01 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added script for SAT complete trace re-execution automated
	  testing.

2009-08-25 11:50 Marco Pensallorto <pensallorto@fbk.eu>

	* TESTING

	  Added script for BDD complete trace re-execution automated
	  testing.

2009-08-24 14:25 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed portability (64 bit), missing function
	  declarations or inclusions.

	  WARNING: several addons (like sugar, anaconda, sa and automata)
	  have still problems due to similar issues.

2009-08-24 07:20 Marco Roveri <roveri@fbk.eu>

	* Added comments on the fix for issue #1161. A better solution
	  should be thought of by fixing the
	  compileExpressionHasNextInputs fucntion to deal with DEFINEs.

2009-08-20 09:46 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug in compileCheckAssignForInputVars that caused NEXTed
	  input vars in defines not to be properly detected by the
	  compiler. The fix consists in expanding the defines in the
	  expression before performing the check.

2009-08-19 19:09 Marco Roveri <roveri@fbk.eu>

	* BUG_FIX: #1158 (and possibly #1157)

	  Added missing handling of FAILURE_ARRAY_OUT_OF_BOUNDS

	  Additional testing is needed.

2009-08-19 13:51 Marco Pensallorto <pensallorto@fbk.eu>

	* REFACTORING + CLEANUP

	  - Several optimizations to the trace xml Loader and next
	  Explainer using new symbtable service.

	  - Removed dead/duplicated code.

2009-08-19 13:25 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added a service to SymbTable to provide a classification of
	  symbols in one of the folllowing categories: state vars, state
	  defines, input vars, input defines, state-input defines
	  state-next defines, state-input-next defines. The service is
	  memoized.

2009-08-19 09:44 Andrea Micheli <amicheli@fbk.eu>

	* Improved trace_executor language support: now it is possible to
	  generate models with non-deterministic assignments with ranges.

	  Fixed some bugs in C code generation.

2009-08-18 13:37 Marco Pensallorto <pensallorto@fbk.eu>

	* PERFORMANCE

	  Several optimizations has been made to the TraceXmlLoader in
	  order to minimize overhead while loading a Trace from an XML
	  file.

2009-08-13 13:52 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added support for BDD-based partial trace execution. The support
	  is exposed to the user via the execute_partial_traces command.

2009-08-13 12:12 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  - Added a new type definition (BddStatesInputsNexts) which will
	  be used to refer to BDDs containing state, input and next
	  symbols;

	  - Extended BddFsm API with a new function
	  (BddFsm_get_sins_constrained_forward_image) which builds a
	  constrained forward image using constraints of the new type
	  mentioned above.

2009-08-12 08:59 Marco Pensallorto <pensallorto@fbk.eu>

	* DOCUMENTATION

	  Updated command documentation for execute_traces and
	  execute_partial_traces.

2009-08-11 15:22 Marco Pensallorto <pensallorto@fbk.eu>

	* DOCUMENTATION

	  1. Small modifications to introductive trace paragraph 2. Added
	  manual section for the new trace execution commands: -
	  execute_traces - execute_partial_traces

2009-08-11 13:36 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added support for partial traces re-execution with restart to
	  the SMT-based execution engine.

	  The support is exposed to the user via the
	  execute_partial_traces command:

	  execute_partial_traces -e smt (basic algorithm)
	  execute_partial_traces -e smt -r (use restart from complete
	  states)

2009-08-11 13:25 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION + BUGFIX

	  - Added a new type of traces to denote traces obtained by
	  partial trace re-execution

	  - Fixed a bug in flow control of TraceType_from_string that
	  caused TRACE_TYPE_INVALID to be returned for all cases but
	  simulation.

2009-08-11 12:46 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed wrong handling of input variables timing in mathsat addon
	  models extraction. This problem is now fixed by shifting input
	  variables times one step backward.

2009-08-11 10:07 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added support for SMT-based incomplete traces execution.
	  Currently only the basic algorithm (no restart) is available.

2009-08-10 14:53 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added SAT based incomplete re-execution implementations. Two
	  versions of the algorithm are available:

	  1. Basic - performs incomplete trace re-execution without
	  restart 2. Restart - performs incomplete trace re-execution,
	  while restarting on complete states (i.e. a state for which an
	  assignment to all state variables exists).

	  The functions are exposed to the user via the
	  execute_partial_traces command.

	  This is very experimental and requires lots of testing and
	  debugging.  Commit for code inspection.

2009-08-07 12:39 Alessandro Mariotti <mariotti@fbk.eu>

	* BUGFIX - Nodes where not normalized before checking an equality,
	  resulting in an assertion

2009-08-07 11:47 Alessandro Mariotti <mariotti@fbk.eu>

	* Added new command: write_reduced_model

	  The command reduces ranges of variables in the model and dumps
	  the new model.

	  Range reduction does not support intervals yet, but do support
	  words, scalar integers and scalar enums

2009-08-06 18:24 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug in SMT complete execution algorithm that causes the
	  system to crash on simple models. The bug was caused by trying
	  to remove the determinization layer even if it doesn't
	  exist. This check as been moved in traceExec.c (at a higher
	  level). This commit should fix issue #1142.

2009-08-06 15:52 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added first draft of SAT incomplete trace execution. Currently
	  testing, ok so far.

2009-08-06 15:49 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE New layer class defined.

	  Description: added a layer class called ARTIFACTS_LAYERS_CLASS.
	  The determinization layer added by the build_boolean_model
	  command is now added to this class.

	  Other artifact layers should be added as well.

2009-08-06 15:31 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed a compilation issue when MathSAT addon is not used.

2009-08-06 15:29 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a compilation issue when the MathSAT addon is not used.

2009-08-06 12:22 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added Artifact layer class definition missing from last commit.

2009-08-06 12:10 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Fixed minor issues in trace execution along FEEDBACK by MR.
	  Added some optional debug code to trace evaluation.

2009-08-05 15:21 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added an API to Symbol Table to determine whether a class of
	  layers already exists.

2009-08-05 13:58 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1035 First part of fixing of #1035.  <string.h> is
	  included when strdup is used.

	  Fixed also a row of missing function declarations (due to
	  missing inclusion of headers, or missing declarations in
	  headers).

	  See http://es.fbk.eu/bugs/view.php?id=1035

	  This commitment does not solve completely the problem, and has
	  to be completed.

2009-08-05 13:44 Alessandro Mariotti <mariotti@fbk.eu>

	* Updated the model simplifier according to last meetings
	  discussion.  In particular: - Added support for processes -
	  Added FSM checks

	  CODE NEEDS TESTING AND REVIEW

2009-08-05 09:53 Roberto Cavada <cavada@fbk.eu>

	* IMPROVEMENT Improved test of the inliner to count passes/failed
	  tests and report them in the final summary.

2009-08-05 09:52 Roberto Cavada <cavada@fbk.eu>

	* INLINER SELF-TE

	  About self-check of the inliner: The sexpinliner can be
	  optionally compiled to carry out self-tests when it inlines
	  expressions.  test in test/features/inliner can then be used to
	  stress the inliner and check the results of self-checking.

	  About this commitment: 1. Forced invariants and equalities were
	  not taken into account in self-checking. FIXED 2. Added a new
	  test (now they are 3) to check that all the models of the
	  original expression are also models of the inlined expression.
	  (expr & inlined & forced <-> expr & forced)

2009-08-04 14:55 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1134

	  Fixed bug about multiple equivalence Fixed policy about
	  precedence

	  See http://es.fbk.eu/bugs/view.php?id=1134

	  WARNING: self-check has still to be fixed

2009-08-04 14:29 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Description: extended both the trace XML loader and dumper to
	  support the new XML format. Refer to issue #1065 for the
	  discussion of the new format.

	  Trace validation mechanism has been deeply changed to enforce
	  the new format.

2009-08-04 13:11 Viktor Schuppan <schuppan@fbk.eu>

	* BUGFIX

	  add xnor operator to LTL/CTL specs

2009-08-03 11:48 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1115

	  The flattener now checks that (expanded) LFS of assignments is a
	  variable.  This fixes bug #115:
	  http://es.fbk.eu/bugs/view.php?id=1115

2009-08-03 11:45 Roberto Cavada <cavada@fbk.eu>

	* VERBOSITY

	  Warning about re-definition of commands is issued only when
	  verbosity level is > 2, to reduce unrequired noise given to the
	  user.

	  This fix is linked to issue #1018:
	  http://es.fbk.eu/bugs/view.php?id=1018

	  but it does not fix it, it only hides the problem to the user.

2009-08-03 08:58 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Updated trace code to support transitional and state
	  defines. The signature of two public methods of Trace has been
	  modified: has a result a few additional modifications were
	  necessary.

2009-07-31 15:31 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a minor bug in SAT execution. The code returned a wrong
	  value when aborting a Trace execution on the initial state.

2009-07-31 15:29 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Modified the format of the printout according to latest
	  requirements.  Currently the modifications apply to the
	  TraceNextExplainer plugin only.

2009-07-31 15:27 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Fixed minor bug that caused execution pre-conditions (validity,
	  completeness) to be irrelevant when deciding whether to perform
	  trace execution or not.

2009-07-31 15:25 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added two methods to Trace class

	  1. Trace_is_valid(), performs well-formedness check on a trace;
	  2. Trace_is_complete(vars), returns true if all given variables
	  are given a value in every step of the trace;

2009-07-31 11:52 Roberto Cavada <cavada@fbk.eu>

	* OPTIMIZATION When determnizing expression {0,1} the returned
	  expression is "det_var" instead of "det_var ? TRUE : FALSE"

	  By not introducing cases, the predicate normalizer may have an
	  easier life.

2009-07-31 11:33 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX 'IN' operation was not handled by the encoder.

2009-07-31 11:31 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1107 Now the MSatEnc handles booleanization correctly,
	  by determinizing expressions when required.

	  http://es.fbk.eu/bugs/view.php?id=1107

2009-07-31 09:09 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Removed an unnecessary spurious dependency on mathsat in sat
	  execution code that prevented building when mathsat in not
	  enabled in the build.

2009-07-30 15:52 Alessandro Mariotti <mariotti@fbk.eu>

	* TO BE TESTED TO BE REVIEWED

	  First version of the property simplifier, based on the model
	  simplifier.

	  The Property simplifier actually supports only LTL properties.

2009-07-30 14:08 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added support for SAT-based complete trace re-execution. First
	  draft for early feedback.

	  Requires autoreconf

2009-07-30 14:06 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Description:corrected the way BDD fsm are used in BDD exeution
	  engine.  Great performance gain.

2009-07-30 13:50 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Commit for feedback integration by MR. This commit fixes issues
	  1109 and (partially) 1117. 1117 has exposed a wrong behaviour of
	  the TraceXMLLoader plugin that requires some analysis.

	  With this commit plugins oreder has changed, please refer to the
	  following list for current ordering of _internal_ plugins:

	  0 - BASIC TRACE EXPLAINER (changes only) 1 - BASIC TRACE
	  EXPLAINER (full trace) 2 - TABLE TRACE (column format) 3 - TABLE
	  TRACE (row format) 4 - XML DUMPER 5 - NEXT EXPLAINER (changes
	  only) 6 - NEXT EXPLAINER (full trace) 7 - XML LOADER

2009-07-30 09:59 Alessandro Mariotti <mariotti@fbk.eu>

	* BUG FIX

	  The expression builder didn't support TRUEEXP and FALSEEXP
	  nodes.  Fixed

2009-07-29 16:22 Roberto Cavada <cavada@fbk.eu>

	* FEATURES

	  1. implemented self-checking of the inliner.  Waiting for a
	  better supprt to debugging settings, to enable self-checking set
	  CHECK_INLINER_CORRECTNESS to 1 (now it is disabled)

	  2. The inliner auto-extracts invariants from assignments (x :=
	  expr) and equivalences from assignemnts (next(x) := expr)

2009-07-29 16:15 Roberto Cavada <cavada@fbk.eu>

	* POLICY Changed the policy for initializing the bool encoder.

	  Before this change, an error was occurring when initializing the
	  bool enc more then once. Now the initialization is skipped if it
	  was already done.

	  This allows for initializing the bool enc from different paths.

2009-07-29 16:07 Roberto Cavada <cavada@fbk.eu>

	* TE * added clean.sh to cleanup temporary files * fixed test.sh
	  to stop if checking of the sexpinliner is disabled

2009-07-29 14:39 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX When converting add to expr in a boolean context (with
	  determinization), scalar values (0 and 1) are converted to
	  resp. FALSE and TRUE.

2009-07-29 12:19 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Type of ASSIGNs was 'statement' which did not match with the
	  equivalent semantics of "in" which is a predicate.

	  For example x := expr is equivalent to "x in {expr}", but the
	  type system produced type 'statement' for the assignment, and
	  'boolean' for the "in" expression.

	  Having assignments with type 'statement' prevented also to
	  having generic boolean combinations of assignments.

	  Fixed by making type of assignment 'boolean'.

2009-07-29 08:27 Marco Roveri <roveri@fbk.eu>

	* FEATUR FIX: #1104 The new command _show_help has been
	  introduced. If invoked with no arguments prints the short help
	  for all commands known to the command interpreter including
	  hidden commands (those whose name starts with _). If invoked
	  with option -f it prints the long help for the all the commands
	  (provided the long help has been generated and properly
	  installed).

2009-07-28 08:51 Roberto Cavada <cavada@fbk.eu>

	* FUNCTION Added new method SymbTable_get_layers, to retrieve the
	  complete list of layers within a symbol table.

2009-07-28 08:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX NNF-izer did not handle IFTHENELSE nodes.

2009-07-28 08:48 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX When converting sets from CONS to UNION, in boolean
	  contexts 1 and 0 are converted to FALSE and TRUE respectively.

2009-07-27 12:03 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Description: commit for feedback integration revision by
	  MR. This commit includes the BDD based trace re-execution
	  method.

2009-07-27 11:49 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Description: commit for feedback integration review by MR. This
	  commit includes the TraceManager and the new TraceNextExplainer
	  which takes account of NEXT defines into a separate section.

2009-07-27 08:07 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX # 1108

	  BddEnc_add_to_expr was not returning the correct node for
	  non-deterministic sets when no-determinization of the expression
	  was requested. In particular, when finding a set, it was wrongly
	  returned a list of leaves as a CONS node. Intead, it had to
	  return a set as a UNION node.

	  See http://es.fbk.eu/bugs/view.php?id=1108

2009-07-24 16:14 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #1106

	  Now Compile_detexpr2bexpr rises an error when a the rhs of a
	  boolena assignment is non deterministic. This closes bug #1106

	  MR+

2009-07-24 09:17 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Description: fixed a bug in trace evaluation algorithm that
	  causes an assertion to fail with an empty language model. The
	  assertion failed because it assumed that at least one state
	  variable existed in the model. The assertion has now been
	  relaxed. This commit fixes issue #1103.

2009-07-24 08:30 Marco Pensallorto <pensallorto@fbk.eu>

	* BUG FIX

	  Added files required to compile cleanly with --enable-addons=all
	  The smt based trace re-execution could not be fully tested due
	  to issue #1052.

	  Requires autoreconf

2009-07-23 15:53 Roberto Cavada <cavada@fbk.eu>

	* DOCS Added some notes about: 1. Commitment message convention
	  2. tags, and tag name conventions.

2009-07-23 15:44 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed an error in engine name selection that caused the system
	  to crash if no engine is selected. Please include into code
	  inspection.

2009-07-23 15:29 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION-BUGFIX

	  BDD-based complete trace re-execution. Now takes INPUTS into
	  account as well. Commit for code inspection.

	  Requires autoreconf

2009-07-23 13:47 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, IFC

	  - Fix for bug #1087 (Expansion of sets)
	  http://es.fbk.eu/bugs/view.php?id=1087

	  - Added boolean flag returned by force_{equivalence,invariant}
	  methods

2009-07-23 13:45 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added Expr_range to make a integer range.

	  Simplification of Expr_next and Expr_attime when dealing with
	  sets of constants

2009-07-23 12:34 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a printing problem in write_flat_model for MDEFINEs and
	  added parenthesis for ite printout in print_node.

2009-07-23 11:27 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed a problem in name resolution for MDEFINEs accesses caused
	  by a wrong implementation of the multiplexer generator.

2009-07-22 17:35 Marco Roveri <roveri@fbk.eu>

	* Feedback from code review. Remarks higlighted with [MRMP],
	  additional comments in an e-mail to the person that did last
	  commit on these files.

2009-07-22 13:33 Roberto Cavada <cavada@fbk.eu>

	* FEATURE The syntactic simplifier takes now into account of
	  ranges (like in min..max) when constructing NEXT and ATTIME
	  nodes.

2009-07-22 13:07 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed handling of operator !=

2009-07-22 12:44 Roberto Cavada <cavada@fbk.eu>

	* FEATURE * Implemented handling of essentials.  * Implemented
	  acquisition of values from variables.  For example a & !b makes
	  the inliner extract a=>T, b=>F

	  See http://es.fbk.eu/bugs/view.php?id=1086 To be tested

2009-07-22 10:11 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Created two new trace manager plugins (indexes: 6,7 - changes
	  only and full trace respectively) which print traces taking SIN
	  defines into account in a separate section. Commit for code
	  inspection

	  Needs autoreconf

2009-07-22 10:08 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Modified defines evaluation in traces. I, SI, SIN, S defines are
	  now supported. Commit for code inspection

2009-07-22 08:22 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Fixed bug #1095 (http://es.fbk.eu/bugs/view.php?id=1095), caused
	  by a missing context in CheckerCore MDEFINE check.

2009-07-21 23:09 Marco Roveri <roveri@fbk.eu>

	* Feedback for the commit aiming to introduce MDEFINES and array
	  subscripting using generic expressions.

	  The comments are marked with: [MRMR]:

2009-07-21 15:06 Alessandro Mariotti <mariotti@fbk.eu>

	* Added fsm simplifier class to the system.

	  New command defined is "write_simplified_model"

	  Type write_simplified_model -h for usage

2009-07-21 14:35 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING Renamed rangeCmd.c -> simpCmd.c

	  simpCmd.c is intended to hold all package's commands.

2009-07-21 13:11 Andrea Micheli <amicheli@fbk.eu>

	* New Feature

	  As you can read on http://es.fbk.eu/bugs/view.php?id=1084, now
	  it is possible to use word variables or constants as array or
	  matrix indexes.

2009-07-21 12:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Relaxed a too strong assertion about types when
	  extracting predicates.

2009-07-21 11:38 Andrea Micheli <amicheli@fbk.eu>

	* BUGFIX

	  Solved bug 1088 (http://es.fbk.eu/bugs/view.php?id=1088) caused
	  by a wrong manipulation of word type in arrays.

2009-07-21 08:32 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added simplification in Expr_setin which can now return
	  FALSEEXPR when dealing with sets containing only constants.

2009-07-21 07:21 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP - Removed temp command 'print_preds' which was used only
	  for initial testing - Added option -n to command extract_range
	  to avoid generating invariants specification which are used to
	  test extracted variable's domains.

2009-07-20 16:17 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Now invariants are taken into account correctly when
	  extracting the ranges from the transition relation.

2009-07-20 15:53 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Fixed a pending 'missing feature': when the FSM of a variable
	  was underspecified (missing init or next) its range was not over
	  approximated to the variable's original domain.

	  WARNING: it seems there is still some problem with invars, so
	  this issue is not currently completely closed.

2009-07-20 14:08 Roberto Cavada <cavada@fbk.eu>

	* NEW PACKAGE

	  Added a new top-level package to hold all modules which are in
	  charge of simplifying FSM and expressions.

	  Here the experimental command extract_range surfaces to extract
	  ranges from the FSM (still under devel).

2009-07-20 14:02 Alessandro Mariotti <mariotti@fbk.eu>

	* Improved support for property names:

	  Added support for property names printing when verifying
	  properties

	  print_invar and print_compute are now standard and use
	  Prop_print.

	  All code invoking these 2 has been updated in order to use the
	  new APIs

	  See mantis issue #0001009 and #0001063

	  Fixed bug of issue #0001076 related to boolean model dumping.
	  Here property names were not handled.

2009-07-20 11:49 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  Fixed 'fault_cfg_%d' string generation.

2009-07-20 11:42 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug that caused two problems when using NodeList_copy:

	  1. The source list was modified upon destroying the copy list
	  (undesidered side-effect)

	  2. The internal node_ptr list of the copy was not freed properly
	  (memory leak)

2009-07-17 17:40 Marco Bozzano <mbozzano@fbk.eu>

	* More principles and more robust implementation for generation of
	  order variables names (for DFT computation).

	  Quick testing OK, to be tested thoroughly.

	  [MBOzz]

2009-07-17 14:24 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Evaluation of defines, which have SYMB_TYPE_ARRAY type is
	  prevented.  This fixes issue #1075

2009-07-17 12:29 Andrea Micheli <amicheli@fbk.eu>

	* Fixed a bug in compile_flatten_resolve_name caused by a side
	  effect of Compile_FlattenSexp on the define expand mode.

	  This bug caused a misbehavior in Compile_FlattenSexp and
	  Compile_FlattenSexpExpandDefine where the actual expansion of
	  the defines where wired in presence of arrays.

2009-07-16 13:53 Andrea Micheli <amicheli@fbk.eu>

	* Modified the manual adding documentation about the new array
	  features.

	  Still missing documentation about next operator applied to
	  matrixes and the modification of some array-related sentences.

2009-07-16 11:56 Marco Roveri <roveri@fbk.eu>

	* Added a warning to remind that the SexpFsm_Create does side
	  effect on the internal FlatHierarchy structure to allow
	  SexpFsm_get{init,invar,trans} to return both expression and
	  assigns.

2009-07-16 11:45 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  The node for a variable was not constructed properly
	  when the variable was declared in a submodule.  Introduces a new
	  function get_var_from_string to generate sych a node.

	  Still need to fix a problem in PrimesSet2DynamicFT due to
	  removal of '.' in variable names. It will be automatically fixed
	  after a better and more robust (forthcoming) implementation to
	  manage names.

2009-07-16 09:52 Andrea Micheli <amicheli@fbk.eu>

	* Added array and matrix new features:

	  ********************************************************************************
	  - MATRIX DEFINITION
	  ********************************************************************************

	  It is now possible to use the keyword MDEFINE to define a
	  constant matrix in a simpler way:

	  MDEFINE M := [[exp11, exp12, ..., exp1N], [exp21, exp22, ...,
	  exp2N], ..., [expM1, expM2, ..., expMn]];

	  With this new syntax it is possible to define matrixes of any
	  dimension and it is also possible to use them as a parameter or
	  define a part of the matrix. E.g:

	  MODULE main VAR m : MM(x[0]);

	  MDEFINE x := [[[1,2], [3,4]], [[5,6], [7,8]]];

	  INVARSPEC m.y = 1;

	  MODULE MM(a) DEFINE y := a[0][0];

	  as well as:

	  MODULE main VAR c : boolean; m : MM(c);

	  INVARSPEC m.out[0][0][0] = 1;

	  MODULE MM(cond) DEFINE out := cond ? a : b; MDEFINE a :=
	  [[[1,2], [3,4]], [[5,6], [7,8]]]; b := [[[1,9], [8,7]], [[6,5],
	  [4,3]]];

	  NOTE: the lower bound of a matrix define is always 0.

	  **BIGWARNING**: at the moment the trace print will not work if
	  in the model there is a define with an expression of type array
	  or matrix because the Trace printer cannot handle this
	  type. This issue has to be solved by skipping the array typed
	  defines. In the meantime it is suggested to call nusmv with -dcx
	  option to avoid the trace generation.


	  ********************************************************************************
	  - VARIABLE INDEX ARRAYS
	  ********************************************************************************

	  It is now possible to use variables as indexes for matrix or
	  arrays or matrix defines:

	  MODULE main VAR i : 0..2;

	  MDEFINE x := [1, 0, 1];

	  INVARSPEC x[i] | !x[i];

	  WARNING: if the index can reach a state where it exceeds the
	  bounds of the matrx a failure condition is reached and an error
	  message will appear.

	  NOTE: this commit is still experimental and waiting for code
	  review, becaue of its pervasive modifications we added a tag for
	  the system before this.

	  NOTE2: the manual has not been updated yet.

2009-07-16 07:06 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Re-enabled BDD technology as a default for complete trace
	  re-execution.

	  NOTE: there currenty is no way of selecting a technology from
	  the execute_traces and execute_partial_traces commands.

2009-07-15 15:04 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX+REFACTORING

	  Fixed issues #1055, #1056 Minor changes for code maintanability.

2009-07-14 13:16 Marco Bozzano <mbozzano@fbk.eu>

	* Disabling value 'simult' in COMPASS mode, as events cannot
	  happen simultaneously in a COMPASS model. Ordering analysis can
	  only output 'before' constraints.

	  Generation of ordering monitor is controlled by a variable
	  'disable_simult' which, at the moment, is true in COMPASS mode
	  and false otherwise.

2009-07-13 10:20 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed generation of dynamic fault trees, by inserting elements
	  that do not appear in ordering constraints as leaves of the
	  traditional AND gate.

	  Some code refactoring.

2009-07-12 07:43 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Removed an unwanted experimental hack that prevented model_bool
	  layer to be committed to the newly created MSatEnc. That was
	  intended to be a local experiment

2009-07-12 07:06 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed counter-example extraction for MSATBMC

	  1. Input variables are now handled 2. Encoding bits are
	  discarded, the trace contains only scalar values

2009-07-10 14:52 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed fault_cfg numbering by passing it as a parameter from
	  above.

	  [MBOzz]

2009-07-10 14:09 Marco Bozzano <mbozzano@fbk.eu>

	* Using NULL gates when only one child is present.  Fixed
	  dimension of array (array_of_states_size and not
	  my_minterm_vars_dim).  Generating new fult tree in main
	  ComputeFaultTree function (only when genFT is true).

	  Still a problem to be solved, namely correct generation of ft
	  when FMs in the original cut set are not associated with any
	  ordering constrain ... in such cases they must be AND-ed as well
	  ...

2009-07-10 12:20 Marco Bozzano <mbozzano@fbk.eu>

	* Added function to generate a dynamic fault tree from textual
	  output, for each cut set (untested). It uses AND nodes, shortly
	  the PAND gate will be introduced. Also, the top level dynamic ft
	  is not yet generated.

2009-07-09 17:24 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed exit condition of fixpoint computation.

2009-07-09 17:22 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIXES.

	  1) Removing layer from symbol table as well.  2) Gnerating new
	  names from 'module_name' at each cycle to avoid clash in the
	  hash (can be improved, if possible to remove entry from the
	  hash, issue to be discussed with [RC]).

	  Now multiple calls to the same 'compute_fault_tree -d' command
	  run fine.

	  [MBOzz]

2009-07-09 17:01 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Extended support for the booleanizer (timed nodes).
	  compileBEval.c will be committed after final revision by RC.

2009-07-09 17:00 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added a local declaration to remove a warning.  Needs
	  refactoring

2009-07-09 16:54 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  Changed is_failure_not_aux_var into
	  is_failure_or_order_not_aux_var (newly added function).  This
	  change the behavior only in COMPASS mode. Needed to keep track
	  of order vars in COMPASS mode.

	  This solves the main problem with orderings computation.  Now
	  prime implicants correctly generated (only basic testing done).

2009-07-09 16:19 Roberto Cavada <cavada@fbk.eu>

	* FEATURES Added new methods:

	  void SexpInliner_force_equivalences(SexpInliner_ptr self, Set_t
	  equivs)

	  void SexpInliner_force_invariants(SexpInliner_ptr self, Set_t
	  invars)

	  Expr_ptr SexpInliner_inline_no_learning(SexpInliner_ptr self,
	  Expr_ptr expr, boolean* changed)

	  Set_t InlineRes_get_invariants(const InlineRes_ptr self)

	  In particular SexpInliner_inline_no_learning which performs
	  inlining based only on forced equivalences/invariants (to be
	  tested).

	  These features were driven by AMa's requirements.

2009-07-09 13:48 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed order monitor. Now using ASSIGNs.  Tested and apparently
	  OK.  Overall generation of prime implicants still buggy.  Some
	  debugging code, it will be removed afterwards.

2009-07-09 13:40 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug that prevented problems of length k to be solved
	  with dual and zigzag algorithms. Problems up to size k-1 were
	  generated.

2009-07-09 12:22 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Removed a bug in an internal function that caused eary
	  booleanization to take place while still in problem creating
	  phase. Now all the booleanizing shall take place only when
	  encoding to SMT (MSatEnc)

2009-07-09 08:40 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, FEATURE

	  * Fixed a bug in inlining of equivalences.  Even if inlined,
	  equivalences were not correclt stored internally.  Thanks to
	  [AMa] for pinpointing the bug.

	  * Added new method: Set_t InlineRes_get_equivalences(const
	  InlineRes_ptr self) To easier retrieve and handle equivalences
	  as a set.

2009-07-08 17:09 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIXES.  1) removing layers in the proper order: first bdd,
	  and then bool.  2) building tle properly as if it was parsed
	  with Parser_ReadCmdFromString (to be checked with [RC]).

	  Now it runs, generation of prime implicants still buggy
	  (traditional method work).

2009-07-08 16:19 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX (typo): cond2 -> cond3.  Enabled code for
	  compute_orderings, still buggy.

2009-07-08 15:41 Marco Bozzano <mbozzano@fbk.eu>

	* More or less completed code in compute_orderings, except
	  transformation into ft. Untested and not yet used.

	  Some refactoring.  Functions EvaluateSpec* have been moved to
	  BddUtils package and made acccessible. New functions taking an
	  explicit fsm as input.

2009-07-08 09:21 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNCTIONS

	  For constructing union and setin nodes.  setin is also
	  syntactically simplified when possible.

	  This was intended to provide a fix for issue #01050

	  (see http://es.fbk.eu/bugs/view.php?id=1050)

2009-07-07 12:52 Marco Roveri <roveri@fbk.eu>

	* Added getter for property name.  The name is a node_ptr

	  [AM]

2009-07-06 13:31 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed compilation issues when mathsat addon is not in
	  use. Tested with fresh check-out.

	  Sorry for the inconvenience

2009-07-06 12:04 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added support for defines containing arrays.

2009-07-06 07:14 Andrea Micheli <amicheli@fbk.eu>

	* Added ARRAY_TYPE node, which represents the array type:

	  ARRAY_TYPE / \ DOTDOT TYPE ...

	  where DOTDOT contains the range of the array and TYPE is the
	  basic type of the vector (which could also be another ARRAY_TYPE
	  of course).

	  Now in the compileFlatten NuSMV creates the single variables of
	  the array/,atrix as well as the array variable itself. E.g:

	  VAR a : array 0..2 of array 2..3 of boolean;

	  we create: "a" with type ARRAY_TYPE(ARRAY_TYPE(BOOLEAN,
	  DOTDOT(2, 3)), DOTDOT(0, 3))

	  "a[k]" (0 <= k <= 2) with type ARRAY_TYPE(BOOLEAN, DOTDOT(2, 3))

	  "a[k][j]" (0 <= k <= 2 and 2 <= j <= 3) with type BOOLEAN

	  NOTE: The modification should remain in the compileFlatten and
	  typeChecker because the array symbols are not declared as
	  variables nor as defines nor as constants, but I added the case
	  ARRAY_TYPE in other parts of the system to mantain code
	  robustness.

2009-07-04 16:56 Marco Pensallorto <pensallorto@fbk.eu>

	* PERFORMANCE

	  Added some optimizations to new simplifier-based method of
	  calculating defines in a counter-example trace.

2009-07-03 16:01 Marco Bozzano <mbozzano@fbk.eu>

	* Implemented Dynamic FMEA tables.  Use option -d of the
	  'compute_fmea_table' command.

	  Done basic testing on the adder example, OK.

2009-07-03 14:19 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed compilation issues when mathsat addon is not included.

2009-07-03 14:04 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added commands for trace re-execution (see traceCmd.c).

	  exec_traces, simulates execution of a complete trace on the
	  model fsm

	  exec_partial_traces, simulates execution of a partial trace on
	  the model fsm and builds a complete trace if the execution could
	  be completed.

	  Needs autoreconf

2009-07-03 09:39 Marco Pensallorto <pensallorto@fbk.eu>

	* NEW BEHAVIOUR

	  Changed the way defines are evaluated in traces.  Now the
	  defines are evaluated as part of constructing the Trace class
	  instance. Only defines which do not depend on NEXT expressions
	  or input variables are evaluated. This implementation already
	  supports incomplete traces. If a define depending on some
	  non-specified state variable is encountered, it is silently
	  skipped.

2009-07-01 12:30 Andrea Micheli <amicheli@fbk.eu>

	* Fixed bug 1010 about module parameters.

	  Now it is possible to pass array as well as module instances and
	  matrixes as module parameters.  e.g:

	  MODULE main VAR x : array 0..3 of boolean; m : MM(x);

	  MODULE MM(a) DEFINE y := a[0];

	  NOTE: this fix is still beta and can be modified in future
	  commits.

2009-06-30 12:25 Marco Pensallorto <pensallorto@fbk.eu>

	* Extension

	  Added a function to support MSatBMC falsification incremental
	  approach.

2009-06-30 11:35 Marco Roveri <roveri@fbk.eu>

	* Solved a missing condition problem in the FlatHierarchy.c file.

	  The function where the condition was missing is
	  FlatHierarchy_lookup_constrains

	  The issue is the same as in issue #423 in mantis

	  [AM]

2009-06-29 15:53 Marco Roveri <roveri@fbk.eu>

	* Solved a bug introduced with support for property names.  The
	  problem was an assertion error over a node type.  The bug was
	  simply a method called with the wrong parameter

	  ctxexpr = car(iter);

	  instead of

	  ctxexpr = car(ctxexpr)

	  in all three files

	  [AM]

2009-06-29 15:06 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed a bug in invars dump Restored backtracking behavior for
	  ltlspec checking.

2009-06-29 14:26 Marco Roveri <roveri@fbk.eu>

	* Solved PSL properties bug.

	  The system was not accepting unnamed PSL properties resulting in
	  a parsing error.

	  The problem was solved moving from the main grammar to the psl
	  grammar the part for threating PSL property names

	  [AM]

2009-06-29 08:31 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Changed verbosity level of package initialization, quitting.

2009-06-29 08:30 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIXES+EXTENSION

	  Several minor bugfixes in bmc commands Added support for dumping

2009-06-29 08:24 Marco Pensallorto <pensallorto@fbk.eu>

	* EXTENSION

	  Added options:

	  'show_defines_in_traces' to enable/disable printing of defines
	  in traces 'msat_dump_format' to select a default dumping format.

2009-06-25 17:44 Marco Roveri <roveri@fbk.eu>

	* Added new pakcage HRC to srore hierarchy information about the
	  NuSMV module hierarchy. This will be the starting point for
	  several model transformations and verification.

	  Currently it is just compiled but no calls to the routines is
	  performed anywere in the code (modification will happen soon in
	  a conservative way w.r.t. the current behavior).

	  Feedback is welcome. It might still be buggy, and proper testing
	  will be performed soon while integrated with the rest of the
	  system.

	  Notice that after update there is a need to run autoreconf,
	  configure, and make.

2009-06-25 16:43 Marco Roveri <roveri@fbk.eu>

	* Added support for named properties into the PrinterWffCore.c

	  Temporary solution into the compileFlatten.c file in method
	  compileFlattenSexpRecur

	  [AM]

	  ----------------------------------------------------------------------
	  devel_2_4 CVS: compile/compileFlatten.c
	  node/printers/PrinterWffCore.c
	  ----------------------------------------------------------------------

2009-06-25 14:55 Marco Bozzano <mbozzano@fbk.eu>

	* Updated expected output for this example.

	  The output has changed after NuSMV-SA has been extended to deal
	  with multiple switched between FMs (i.e., after boolean history
	  variables have been introduced.). Previously this model was not
	  correctly handled by NuSMV-SA.

2009-06-25 14:47 Marco Roveri <roveri@fbk.eu>

	* Updated Flattener callers in order to use the new structure used
	  for named specifications.

	  [AM]

2009-06-25 14:42 Marco Roveri <roveri@fbk.eu>

	* Added support for property names. Now all LTL, PSL, CTL, INVAR
	  and COMPUTE specs can be named with the following syntax:

	  <type>SPEC NAME name := expr

	  The system uses now keyword "NAME"

	  property name can be either a simple ATOM or a complex dotted
	  notation (e.g: a.b.1.c)

	  The modification influenced the structure returned by the
	  flattener when using FlatHierarchy_set_<type>spec,
	  FlatHierarchy_get_<type>spec.

	  The old spec structure was the following: CONTEXT / \ spec ..

	  The new structure is the following: <type>SPEC / \ CONTEXT
	  [flattened name of property or Nil if no name] / \ spec ..

	  All callers have been modified in order to use the new structure

	  Also PropDb_fill has been modified in order to take care of the
	  new structure.

	  All check_<type>spec[bmc|bmc_inc] have been modified.  They may
	  now be called like: check_ltlspec -P <property_name>

	  Also show_property command has been modified in order to show
	  property names

	  The syntaxt documentation has also been updated

	  Alessandro.

	  [AM]

2009-06-25 09:41 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIXES

	  minor bugfixes, mainly to messages during falsification solving.

2009-06-25 08:49 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Sexp Simplifier was not correctly re-constructing
	  CASE/ITE nodes

2009-06-25 07:32 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed wrong prototype of method print_predicates_only

2009-06-24 15:27 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Fixed bug that caused counter-examples not to be shown. The
	  issue applied to msat_check_invar_bmc and
	  msat_check__ltlspec_bmc.

2009-06-24 15:04 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Swapped order of parameters of called function MSatBmc_Gen_FP
	  due to API change.

2009-06-24 14:57 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIX OF BUG 0001035

	  The type has been changed from int to size_t, because size_t is
	  of the same size as void*.

2009-06-24 14:20 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNCTION Added function

	  Set_t Set_AddMembersFromList(Set_t set, const NodeList_ptr list)

	  which is handy when working with sets and lists.

2009-06-24 13:09 Marco Pensallorto <pensallorto@fbk.eu>

	* REFACTORING

	  Fixed includes in order to avoid implicit declarations of
	  functions.  (asked by MR)

2009-06-23 21:47 Marco Pensallorto <pensallorto@fbk.eu>

	* DOCUMENTATION+CLEANUP

	  A few corrections to commands documentation. Removed unnecessary
	  header includes.

2009-06-23 16:05 Marco Pensallorto <pensallorto@fbk.eu>

	* REFACTORING+DOCUMENTATION

	  1. The package has been splitted to help better control of
	  initialization and de-intialization phases;

	  2. The commands' documentation have been updated and should now
	  correctly document commands' beahavior;

	  3. A new options "-u" has been added to non-incremental commands
	  in order to require to leave undecided the property (that is,
	  not to invoke tyhe SMT solver after generation). This helps in
	  allowing the user to perform problem generation for dumping and
	  solving independently;

	  4. Dumping is not yet implemented;

2009-06-23 15:56 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Removed Bmc_Init() from encoding construction. It currently has
	  been moved locally into MSatBmc_GenSolveLtl, but this is just a
	  temporary fix.

2009-06-23 14:44 Marco Roveri <roveri@fbk.eu>

	* Added if-then-else syntax support. Now it is possible to write
	  "Condition ? Then_Expression : Else_Expression" with the usual
	  semantics. For example:

	  MODULE main VAR x : boolean;

	  INIT x = 1;

	  TRANS next(x) = x ? 0 : 1;

	  The user manual was fixed and some testcases is provided.

2009-06-22 14:41 Andrea Micheli <amicheli@fbk.eu>

	* Added new syntax suppoprt: now it is possible to pass an
	  expression containing a next operator as a parameter of a module

	  MODULE main VAR x : boolean; m : MM(next(x));

	  INIT x = 1;

	  TRANS next(x) = !x;

	  MODULE MM(v) DEFINE neg := v;

	  Also added some test to check the new syntax and updated the
	  user manual.

2009-06-22 14:31 Marco Roveri <roveri@fbk.eu>

	* Fixed a problem in check_next function that was wrongly
	  resolving body of define that contains module parameters

	  MODULE main VAR x : boolean; m : flipper(next(x));

	  INIT m.neg

	  MODULE flipper(v) DEFINE neg := !v;

	  [MR + AMi]

2009-06-19 16:18 Marco Pensallorto <pensallorto@fbk.eu>

	* FEEDBACK INTEGRATION

	  Several changes to the new MSatBMC commands and APIs.  Better
	  integration with the rest of system Only LTLSPEC pure future
	  non-incremental is currently available.

	  WARNING: Documentation not up to date. I will review it ASAP

2009-06-19 16:14 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Restored previous interface for MSatBMC models.

2009-06-19 16:07 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  MSatBMC requires BMC to be initialized. Added initialization of
	  BMC in encode_variables command. Should this be moved in another
	  location?  Feedback welcome.

2009-06-18 16:42 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  1. Changed dependencies of command build_flat_model.  Now it
	  depends on flatten_hierarchy, and it is no longer needed to
	  encode the variables before making the flat SexpFsm.

	  2. Encoding of variables can invariantly be made before or after
	  build_flat_model (this has to be discussed, I'm opening a ticket
	  for it)

	  3. Fixed all go* commands accordingly

	  4. Fixed dependencies of all commands that were assuming that
	  flat sexp fsm was created after the encoding.

	  WARNING: Since this commitment might break some previously
	  working control code, I had created a tag called

	  devel_2_4_before_move_build_flat_model

	  Just before committing.

	  WARNING: documentation (user manual) has to be fixed.

2009-06-18 13:46 Roberto Cavada <cavada@fbk.eu>

	* PRIVATE INTERFACE Adding private interface of class SexpFsm,
	  used by BoolSexpFsm which inherits from it.

2009-06-18 13:44 Roberto Cavada <cavada@fbk.eu>

	* NEW CLASS Added class BoolSexpFsm which represents a boolean
	  sexp-based FSM.  This commitment does not connect it to the
	  system yet.

	  Notice that this is still to be reviewed, and some documentation
	  may be missing.

2009-06-18 12:49 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  Added MSatEnc instance to calls to MSatBmc_Gen_FP in the
	  following files.  This makes the whole system compile
	  succesfully.

2009-06-17 09:33 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING Added new method FlatHierarchy_get_symbol_table

	  (On my way for refactoring class SexpFsm)

2009-06-17 09:10 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Loop detection now takes into account user-defined
	  invariants and equalities.

2009-06-12 13:50 Marco Pensallorto <pensallorto@fbk.eu>

	* BUGFIX

	  1. Fixed a bug that caused witness not be shown in
	  MSatBmc_GenSolveFP

2009-06-12 13:39 Marco Pensallorto <pensallorto@fbk.eu>

	* FEATURE,BUGFIX

	  1. Added algorithms and commands to perform:

	  1.1. Invariant checking: falsification, falsification
	  incremental, dual, zigzag; 1.2. LTLspec checking: only future
	  BMC

	  2. Fixed een-sorensson to exploit the native word support;

	  These features has not yet been fully tested.

	  WARNING: needs reconfigure to be run.  WARNING: review pending,
	  interfaces may change

2009-06-11 09:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed several bugs within the inliner.  In particular
	  now loops are detected, so the algorithm terminates.
	  Performances are ugly, but can be largely improved.

	  Needs further testing.

2009-06-11 09:21 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added method for intersecting sets (it was not
	  provided...)

	  Implementation is marked as improvable, but I needed one now for
	  the inliner.

2009-06-05 16:55 Marco Bozzano <mbozzano@fbk.eu>

	* Changed behavior of SA in COMPASS mode.

	  Now there is a history BOOLEAN variable for each pair
	  <failure_mode_var, value>.

	  Monitor and related code has been changed accordingly.

	  Done some basic testing for compute_fault_tree and
	  compute_fmea_table.

2009-06-04 09:14 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added support of blacklisted names

2009-06-04 08:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, FEATURE Fixed SexpInliner which was assuming that the
	  flattener was using find_node (and actually uses new_node in
	  some cases!)

	  Now the SexpInliner assumes that the expression it is being
	  inlining had been already flattened.

	  Added get_unique_result to InlineResult

2009-06-03 15:04 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX - Fixed bug when substituting next(var) and attime(var)
	  - Integrated MR feedback

2009-06-03 13:30 Roberto Cavada <cavada@fbk.eu>

	* DOCS Documented new parser productions in variable declaration:

	  VAR _range : basic_expr .. basic_expr; VAR _word :
	  word[basic_expr]; VAR _array : array basic_expr .. basic_expr of
	  <type>;

2009-06-02 21:15 Marco Roveri <roveri@fbk.eu>

	* Added an optimization and a further comment to take into account
	  while performing the inlining. It seems that if I have next(x) =
	  expr it is not possible to replace the occurrences of next(x)
	  with the expression.  It seems that only x = expr is allowed for
	  substitution even thought it has been considered for
	  substitution.

2009-06-01 21:38 Marco Roveri <roveri@fbk.eu>

	* - Added few comments - Added some print debug code (commented
	  out) - Conditioned to #if 0 some code since unclear and
	  resulting in no complete substitution

	  For RC: to be discussed

2009-06-01 15:44 Roberto Cavada <cavada@fbk.eu>

	* FEATURE (PART 1)

	  (see also ticket http://es.fbk.eu/bugs/view.php?id=974)

	  Adding feature for supporting: 1. declaration of word variable
	  whose width is given in a (constant) expression 2. definition of
	  word constants whose width and value depend on (constant)
	  expressions.

	  The (constant) expressions can contain: 1. numerical constants
	  2. DEFINEs whose body eventually evaluates to a constant
	  numerical value 3. Module's formal parameters 4. Arithmetical
	  operators over 1

	  For example:

	  MODULE mymod(p1, p2) VAR w1 : word[p1 + 1]; INVAR w1 =
	  uwconst(p1 + 1, p1 + p2) -- width, value


	  !!!! WARNING !!!!

	  This feature is still experimental, some addons may need changes
	  in order to be able to exploit it. All fix will be made in PART
	  2.

2009-06-01 11:48 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added support for (constant) expressions used when
	  instantiating words and wordarrays.

2009-06-01 09:55 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in new implementation of
	  compile_flatten_eval_number which had to find_node num constants
	  in order to make them recognizable by the symbol table.

2009-05-29 16:11 Roberto Cavada <cavada@fbk.eu>

	* FEATURES

	  1. In type declarations ranges can be declared as "expr .. expr"
	  instead of integer .. integer. Both the expressions must
	  evaluate to constants integers, and evaluation take into account
	  module formal parameters.

	  2. similarly for ranges of arrays VAR ar : array expr .. expr of
	  type.

	  This feature required a change in interfaces of several
	  compiler's function (they have now to receive a symbol table).
	  This required to change the calling code as well.

	  WARNING: Also cegar requires a change, that will follow up after
	  this commitment.

2009-05-29 07:53 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Due to the bug which is here being fixed, the inliner
	  was not correctly simplifying flat expressions (expressions
	  without an explicit conjuction) like for example

	  "a = 10 & b = a + 1 & b < 15"

	  now becomes: "true" (inlined) "a = 10 & b = 11" (equalities)

2009-05-28 15:32 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added (unscheduled) fixpoint computation to the inliner.
	  /To be tested/

2009-05-28 12:29 Roberto Cavada <cavada@fbk.eu>

	* FEATURE, DOCS, IMPROVEMENT

	  1. Added a new structure for holding the result of inlining
	  2. Added documentation 3. When invariants set is empty, no
	  traversal is done out of top-level conjuctions.

2009-05-28 09:06 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed values of new parameter of function
	  Formula_GetDependenciesByType to false to keep previous
	  semantics.

	  The calls were all marked for being checked.

2009-05-28 07:32 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Substitution had to stop outside conjuctions, but when
	  handling invariants.

2009-05-27 21:30 Marco Roveri <roveri@fbk.eu>

	* fixed a compilation problem due to a change of API of function
	  Formula_GetDependenciesByType

	  MB/RC please check that the fix is correct.

2009-05-27 15:01 Roberto Cavada <cavada@fbk.eu>

	* NEW PACKAGE Added top-level package 'sexp' which is intended to
	  hold all code manipulating sexp based on node_ptr.

	  Featuring at the moment the SexpInliner (not on-air yet)

2009-05-27 14:58 Roberto Cavada <cavada@fbk.eu>

	* IFC CHANGE

	  Change interface of function Formula_GetDependenciesByType by
	  adding a formal parameter which is a flag deciding whether the
	  entries within the returned set of variable keep timing
	  information or not.

	  To mimic previous interface semantics, use 'false' as value for
	  the flag.

	  This is intended to provide features needed by the sexp inliner.

2009-05-27 14:54 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added two new function to operate on timed nodes

2009-05-20 13:53 Roberto Cavada <cavada@fbk.eu>

	* HACK

	  (This hack is active only if cegar is configured. Otherwise no
	  change is expected)

	  Implemented hack for having block of fixed size (2).  To be beta
	  tested.

2009-05-20 12:55 Marco Roveri <roveri@fbk.eu>

	* Some code cleanup, added missing documentation for some
	functions


	  [AM]

2009-05-19 08:52 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES 1. Fixed a bug in dag-ification of expressions. The
	  bug made write_boolean_model possibly introduce undefined
	  symbols.

	  2. Fixed memory leak (thanks to MP for reporting)

2009-05-18 12:43 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP (Integrated feedback from MR) 1. Internal method
	  bdd_enc_declare_new_det_var has been removed.  2. In add2expr
	  scalar and boolean case are handled by the same code.
	  3. Removed local flag from local hash key

2009-05-18 12:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added handling of node IFTHENELSE (only CASE was
	  supported)

2009-05-18 12:25 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Function Bmc_Conv_Be2Bexp not handles NUMBER nodes containing 0
	  and 1 value, and converts them to they resp. truth values.

2009-05-15 14:44 Roberto Cavada <cavada@fbk.eu>

	* METHOD Added method BddEnc_add_to_scalar_expr

	  which converts a (possibly non-deterministic) scalar ADD to the
	  equivalent expression (node_ptr)

2009-05-15 14:43 Roberto Cavada <cavada@fbk.eu>

	* METHOD Added method BoolEnc_get_values_bool_encoding which
	  returns the bool encoding of a set of values, along with the set
	  of symbols needed for the encoding

2009-05-15 14:41 Roberto Cavada <cavada@fbk.eu>

	* METHOD Added method SymbTable_get_determinization_var_name

	  This was moved away from BddEnc

2009-05-15 14:39 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in implemented semantics of
	  Utils_is_in_range

2009-05-15 09:58 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  The flattener was too strong with array indices, requiring
	  numerical constants only. This prevented from PSL formulae
	  possibly pass, as for example in forall syntax array[i] is
	  allowed.

	  Now 'i' is checked and if defined an error is issued, otherwise
	  error checking is delayed until type checking time.

2009-05-14 21:39 Marco Roveri <roveri@fbk.eu>

	* Hackl to re-allow orderin g files to be allowed in abstraction
	  via bdd or bddarray (last fixes were not complete and ended up
	  in assertion violations).

2009-05-14 21:35 Marco Roveri <roveri@fbk.eu>

	* changed PACKAGE_BUGREPORT as to point to nusmv@fbk.eu instead of
	  nusmv@irst.itc.it

	  Thanks to AF for reporting this issue.

2009-05-11 07:46 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed memory leak surfacing when regexp are not
	  available.  The buggy code was in a service used when printing
	  traces.

2009-05-08 13:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #0969

	  Fixed bug for bitwise operators xor, xnor, ->, <-> with words.
	  See http://es.fbk.eu/bugs/view.php?id=969

2009-05-07 14:28 Marco Roveri <roveri@fbk.eu>

	* Added routine for building an Expr given a Cformula, the system
	  now uses this instead of calling the parser

	  Some code cleanup: Moved all formula building (Cnode to Expr /
	  Expr to Cnode) in the property_utils files

	  [AM]

2009-05-07 13:48 Roberto Cavada <cavada@fbk.eu>

	* CONFIGURATION Fixed a bug in makefile: structs/*.h were not
	  configured for being distributed.

2009-05-07 13:30 Roberto Cavada <cavada@fbk.eu>

	* CONFIGURATION Fixed a bug in configuration variables.  Variable
	  AC_PACKAGE_VERSION was used instead of PACKAGE_VERSION when
	  initializing automake, resulting in target 'dist' creating a
	  wird name for the resulting tar file.

2009-05-05 20:48 Marco Roveri <roveri@fbk.eu>

	* This is an ack to overcome the problem reported in bug #962 of
	  CEGAR.  Basically, we disable the free of BDD variable blocks
	  inside the BDD package. The reason being that the same block
	  seems to be freed more times when the cegar loop is executed.

2009-04-24 14:28 Marco Roveri <roveri@fbk.eu>

	* Some code cleanup Added ltl_utils[h & c] which contains model
	  checking and satisfiability routines

	  Solved a lot of bugs in pure literal optimization: When the
	  formula contains the IFF operator, literals that stay under it
	  are now taken in count (those literals cannot be pure, but when
	  the subformula is replaced, it may be possible that a literal
	  becomes pure)

	  Solved a bug on formula rewriting (the rewriting of the IMPLIES
	  operator had a small bug)

	  The polarity map is now updated according to the replacements
	  done in the formula

	  Moved some printing routines to the owner class
	  (print_working_list in working list ecc)

	  [AM]

2009-04-21 14:42 Marco Roveri <roveri@fbk.eu>

	* Solved a bug in the Working list.

	  replacing a node of an iterator when using small/big picking
	  policy resulted in an assertion


	  [AM]

2009-04-17 15:40 Marco Roveri <roveri@fbk.eu>

	* Added benchmarks informations and solved a bug (polarity map was
	  not updated during weakening / strengthening)

	  Added check when trying to use Pure literal optimization and
	  model checking at the same time

	  Added a stats retrieval method for formulas (see Cnode class)

	  [AM]

2009-04-10 13:22 Marco Roveri <roveri@fbk.eu>

	* Added option for disable the check for SAT / UNSAT which is
	  performed before the actual strengthening / weakening

	  [AM]

2009-04-09 16:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX #947

	  Command "clean_bdd_cache" is not added second time during
	  "reset" any more.

2009-04-09 15:51 Marco Roveri <roveri@fbk.eu>

	* Solved a few bugs in Cnode, WorkingList and Optimizations.


	  [AM]

2009-04-07 16:07 Marco Roveri <roveri@fbk.eu>

	* Added support for rewriting (a <-> b) as (a -> b) & (b -> a),
	  and (a -> b) as (!a | b). See the "-r" option of the
	  extract_core_ltlspec command

	  -> Properties are no longer stored in the property database, and
	  are created using Prop_create_partial -> Solved a bug with the
	  IMPLIES operator polarity

	  [AM]

2009-04-07 16:04 Marco Roveri <roveri@fbk.eu>

	* Moved the 2 fflush(std*) calls to Ltl_Struct..._check() to the
	  Ltl_Struct.._print_result() method

	  [AM]

2009-04-06 15:21 Marco Roveri <roveri@fbk.eu>

	* The cores pkg now uses global verbosity level, and calls
	  Ltl_CheckLtlSpec_check instead of Prop_verify, in order to gain
	  control over formula printing

	  [AM]

2009-04-06 15:16 Marco Roveri <roveri@fbk.eu>

	* Splitted method Ltl_StructCheckLtlSpec_check into:

	  Ltl_StructCheckLtlSpec_check Ltl_StructCheckLtlSpec_print_result

	  Top level Ltl_CheckLtlSpec now calls both, so it is equal to the
	  old one.

	  [AM]

2009-04-03 12:22 Marco Roveri <roveri@fbk.eu>

	* Added "-m" option to the extract_core_ltlspec command, which
	  tells the algorithm to use model checking instead of
	  satisfiability check

	  Added control of the model for init and trans in order to avoid
	  wrong satisfiability checks

	  Improved support for errors handling

	  Some code clean-up

	  [AM]

2009-04-03 08:29 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX #943.

	  BDD encoding was accessed before checking if it had been built.

2009-03-30 15:51 Marco Roveri <roveri@fbk.eu>

	* First import of the cores package TODOs: - command definition -
	  testing

	  Also copied Sset and Olist classes to the utils/ package

	  [AM]

2009-03-27 16:43 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  A piece of code intended to be used only in COMPASS mode, was
	  used by default, causing a segault.

2009-03-27 16:21 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  Function CompileFlatten_resolve_name does not expand module
	  formal parameters to the actual ones any more.  The description
	  told it could but in fact it could not in any case.

	  The disabled code is still in file and has to be removed before
	  next release (if new problems do not arise).

2009-03-24 18:12 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FILES

	  1. Makefile is added to internal_manual 2. The final PDF file is
	  added to the repository.

2009-03-24 18:06 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* REFACTORY

	  1. Makefile is added 2. Final PDF file is added.  3. Figures are
	  moved to figs directory.

2009-03-24 17:48 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MAKEFILE CHANGE

	  1. Makefile.am is removed and ready-to-use Makefile is added.
	  2. Minor fixes in documentations 3. .pdf file is added to the
	  repository.

2009-03-24 14:39 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* COMMENT FIX

	  A better description of the approach and potential problems is
	  given.

2009-03-23 20:15 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW IMPLEMENTATION

	  File src/ltl/ltlRewrite.c has been strongly changed. All the
	  other files have been adapted to that change or cleaned up or
	  comments are added.

	  ltlRewrite.c was responsible for rewriting LTL formula to get
	  rid from input vars. The old approach introduces for every input
	  var in the formula a new state var of the same type and adds one
	  more X operator to the formula.

	  New approach introduces one boolean state var for every
	  sub-formula which is an operand of a temporal operator, does not
	  contain temporal operators but contains input vars.

	  Some small testing was done.  No benchmarking has been done yet.

2009-03-23 20:08 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE CLEAN UP

	  Unused functions and defines are removed (there were originally
	  defined in ltl/ltlRewrite.c).

2009-03-23 20:03 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  I added a few additional parentheses in #define. For example,
	  node_get_type(_n_) was "_n_->type" and became "(_n_)->type".
	  For example,, expression node_get_type(*expr) was "*expr->type",
	  i.e.  "*(expr->type)" and became "(*expr)->type".

	  P.S. I cannot understand why this problem did not show itself
	  earlier.

2009-03-23 18:28 Marco Roveri <roveri@fbk.eu>

	* Added support for BDD-to-Wff printout. The printout algorithm
	  has a couple of optional features that can be enabled on-demand.

	  - indented printout, uses the indenting printout MasterPrinter
	  instance. If this is not required the legacy printout instance
	  is used instead;

	  - sharing (DAG) printout, optimizes the size of the Wff by
	  exploiting sharing in the formula. If not required the formula
	  is printed "as-is";

	  The package also exposes a function with no side effects
	  (BddEnc_bdd_to_wff). This can be used to translate a BDD into a
	  Wff.

	  M. Pensallorto

2009-03-23 18:17 Marco Roveri <roveri@fbk.eu>

	* Exposed support for DAG printout. The following functions are
	  now exposed to other packages:

	  - Compile_make_dag_info - Compile_convert_to_dag -
	  Compile_write_dag_defines - Compile_destroy_dag_info

	  M. Pensallorto

2009-03-23 18:13 Marco Roveri <roveri@fbk.eu>

	* Added support for indented printout. The indenting printout
	  class, called PrinterIWffCore, inherits from PrinterWffCore.

	  The node package now holds two global MasterPrinter instances:
	  one is used for legacy non-indented printout, the other one is
	  used for indented printout.

	  High level functions have been added to export new printout
	  capabilities.

	  M. Pensallorto

2009-03-18 19:08 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW DOCUMENTATION

	  The new feature of enabling/disabling/cleaning the
	  symbolic-exp-to-bdd evaluation cache is added to the manual.

2009-03-18 19:07 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  1. Now it is possible to enable/disable/clean the cache used
	  during symbolic-exp-to-bdd evaluation.

	  2. NuSMV evironment variable "enable_bdd_cache" enables/disables
	  adding NEW values to the cache.

	  3. Command line option "-disable_bdd_cache" sets the
	  "enable_bdd_cache" to 0 at the beginning of execution.

	  4. NuSMV Command "clean_bdd_cache" cleans the values collected
	  in the cache so far.

2009-03-18 11:36 Marco Roveri <roveri@fbk.eu>

	* BUG FIX (MEMORY LEAK)

	  Function assoc_get_keys returns a list which has to be freed by
	  an invoker. This was mostly not done.

2009-03-18 11:34 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  In assoc there is a new function "remove_assoc" which removes a
	  given key from a hash table.  Note: it may be more efficient to
	  remove a key vs setting the associated data to Nil.

2009-03-16 17:45 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  In CONSTANTS declaration all identifiers have been output
	  instead of constants only.

	  Actually, NuSMV did not notice this problem because currently
	  NuSMV does not check identifiers for ambiguity.

2009-03-12 13:25 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  new_vdeps = vdeps

	  changed to

	  new_vdeps=Set_Copy(vdeps);

2009-03-10 14:56 Marco Bozzano <mbozzano@fbk.eu>

	* First version of integrated SAT/BDD routine for FT generation
	  (non-inc version).

	  Only very basic testing done.

2009-02-26 13:16 Marco Roveri <roveri@fbk.eu>

	* - added support for frozenvar - fixed bu in declaring arrays

	  [ST+MR]

2009-02-18 15:16 Marco Roveri <roveri@fbk.eu>

	* Fix for bug #925 about masks and ordering of variables.

	  Added a function: BoolEnc_get_var_mask that given a variable
	  returns an expression representing the mask for the encoding
	  that removes multiple assignements representing the same value.

2009-02-15 23:47 Marco Roveri <roveri@fbk.eu>

	* - added flags to enable/disable beautify of XML output via
	  indented nested tags.  - added option -b to the
	  compass_gen_sigref to enable beautify of XML - fixed problem
	  with ADD of events/probabilities track ticket 96

2009-02-12 13:15 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in settings for static linking that were not
	  working with old versions of autotools

2009-02-12 12:18 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added option --enable-static-link to configure, to order
	  make to build only statically linked executables.

	  To be tested.

	  ** WARNING ** After updating, requires autoreconf to be executed
	  before reconfiguring.

2009-02-11 17:30 Marco Bozzano <mbozzano@fbk.eu>

	* Adding a COMPASS example to the test suite.

	  Note: loading of the .cmd file can be improved (relative path
	  name).  Also, results of fault_detection are not currently
	  tested by the python scripts.

2009-02-11 16:59 Stefano Tonetta <tonettas@fbk.eu>

	* BUG FIX.  free -> free_list

	  inside XML dumper.

	  Bug might cause abort when using XML dumper plugin (e.g. in
	  COMPASS mode).

	  This closes bug [0000924].

	  [MBozz + MR]

2009-02-11 15:56 Marco Bozzano <mbozzano@fbk.eu>

	* Minor.

	  Fixed usage of command compute_fault_detection (option -t was
	  not displayed).

2009-02-11 15:34 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed bug similar to [NuSMV 0000923], affecting
	  compute_prime_implicants.

	  Assertion violation due to BddEnc_expr_to_add applied to a word
	  expression.

	  Now passing to function build_primes_set a new argument storing
	  the list of failure mode variables (only these variables are
	  needed - no need to go through all the state variables).

2009-02-11 14:56 Marco Bozzano <mbozzano@fbk.eu>

	* Changed names for basic events in FTs in COMPASS mode.

	  Now they are displayed as Exx_value where xx is a progressive
	  number assocaited with the failure variable, and value is the
	  failure value.

	  Idea: shorten names ...

2009-02-11 14:29 Marco Bozzano <mbozzano@fbk.eu>

	* 1024 chars for names of basic events ...  to avoid clashing.

	  To be checked if ftd able to deal with such names.

2009-02-11 14:14 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed bug [NuSMV 0000923].

	  Assertion violation due to BddEnc_expr_to_add applied to a word
	  expression.

	  Now passing to functions ArrayOfStates2FaultTree and
	  PrimesSet2FaultTree a new argument storing the list of failure
	  mode variables (only these variables are needed - no need to go
	  through all the state variables).

2009-02-11 11:12 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed problem with casting under 64 bits arch.  int cnfVar must
	  be declared as nusmv_ptrint.

	  Added warning to another piece of code to be ported.

2009-02-11 10:05 Marco Bozzano <mbozzano@fbk.eu>

	* Increasing compatibility with FT+ in COMPASS mode.

	  Truncating event name (just a label -- no problem) to 31 chars
	  for compatibility with FT+.

	  Event description is not truncated (max lenght is 1024), and it
	  is compatible with FT+ up to 101 chars.

2009-02-10 18:26 Marco Roveri <roveri@fbk.eu>

	* Fixed a problem of compute_fault_tree* appearing when run on a
	  64bit machine. We were erroneusly allocating an array of 2^32-1
	  pointers to store all possible bdds. Currenlty the code only
	  uses an array whose size is the size needed (i.e. it depend on
	  the BDDs variables allocated, and not on the MAX_VAR_INDEX).

	  Fixed a missing bdd_free in saCore.c in the above array.

	  This fixes should make it possible to close issue #560.

2009-02-09 10:16 Marco Roveri <roveri@fbk.eu>

	* CHANGE Changed the way masks are built, by assigned default
	  value to zero instead of one for don't care. This has no impact
	  on the mask correctness, but can largely help in fixing a
	  problem we currently have in project Compass.  See compass issue
	  http://compass.informatik.rwth-aachen.de/trac/ticket/96

	  [RC+MR]

2009-02-04 20:02 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  1. Fixed prob parser to be able to handle arbitrary cosntants
	  and identifiers in assignemnts.  2. Removed code that brings to
	  a bug when applying masks to input bdds.  The removal is marked
	  with a warning.

	  PLEASE [MR] CHECK

2009-02-04 17:30 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Resetting COMPASS monitors every time sa package is quit,
	  regardless of whether COMPASS mode is enabled or not (the user
	  may set/unset the mode at run-time).

	  Previously might cause abort with particularly "nasty" users as
	  myself.

2009-02-04 12:51 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Forgot to re-initialize two variables, caused segfault when
	  resetting twice.

2009-02-04 10:28 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Fixed yeta nother instance of a wrong release of 'out_filename'.

2009-02-04 10:01 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Fixed release of hierarchy that could cause segfault.  Improved
	  release of decls and hierarchy,

2009-02-03 17:59 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.

	  Checking whether all required attributes of failure modes and
	  observations are present in the xml file. If not, then exit with
	  error.

	  Wrong xml files previously might cause segfaults.

2009-02-03 16:25 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  out_filename was wrongly freed when genFMT not set.

	  (same bug in generate_fmea_table, as the one in
	  generate_fmea_table_tds already fixed)

2009-02-03 16:21 Marco Bozzano <mbozzano@fbk.eu>

	* BUG FIX.  out_filename was wrongly freed when genFMT not set.

2009-02-03 10:27 Marco Bozzano <mbozzano@fbk.eu>

	* Bug fix.  If go_bdd and go_bmc are run in this order, then it is
	  not necessary to commit layer to be_enc; hence, checking that
	  the layer has not already been added, before committing.

2009-02-01 21:21 Marco Bozzano <mbozzano@fbk.eu>

	* Code to build monitor for guess variables (fault detection).
	  Untested.

	  BUG FIX: fixed release of obs_list in IOUtil.c.

2009-01-30 17:48 Marco Roveri <roveri@fbk.eu>

	* BUG FIX.  Creation of be_fsm must be done from Boolean fsm.
	  Also, layers must be committed to encodings *before* creation of
	  the fsm.

	  [RC + MBozz]

2009-01-30 17:41 Marco Roveri <roveri@fbk.eu>

	* Added assertion to ensure that BeFsm_create_from_sexp_fsm is
	  called with a Boolean fsm.

	  [RC + MBozz]

2009-01-27 16:26 Marco Bozzano <mbozzano@fbk.eu>

	* Changed NO_FAILURE definition.  For COMPASS, it must take into
	  consideration the name of the variable it refers to.

2009-01-24 15:32 Marco Bozzano <mbozzano@fbk.eu>

	* Added fault_detection and fault_isolation commands (COMPASS
	  mode).  Untested.  Fault detection requires addition of monitor
	  for 'guess' variables'.

2009-01-23 14:02 Marco Bozzano <mbozzano@fbk.eu>

	* Added observations in the input file.

	  Format of the input file:

	  <?xml version="1.0"?> <compass> <fmlist> <fm
	  name="bit1.output_FailureMode"/> <fm
	  name="bit2.output_FailureMode"/> <fm
	  name="adder.output_FailureMode"/> </fmlist> <obslist> <obs
	  name="bit1.obs_output_inverted"/> <obs
	  name="bit2.obs_output_inverted"/> <obs
	  name="adder.obs_output_stuck_at_0"/> <obs
	  name="adder.obs_output_stuck_at_1"/> </obslist> </compass>

2009-01-23 11:15 Marco Roveri <roveri@fbk.eu>

	* - adapted to the new interface of hreltl_check_satisfiability -
	  added a comman line flag to force generation of a single problem
	  for the specified lenght, instead of trying all the problems
	  till the specified lenght.

2009-01-19 22:22 Marco Roveri <roveri@fbk.eu>

	* - fixed removal of the quadratic constraints x = y * z.  -
	  currently removal is parametric on an array of constants.  -
	  currently constants are hardcoded, however there is the
	  infrastructure to possibly extract such constants from the
	  analysis of the whole formula.  - added printing of the trace
	  for satisfiable problems.

2009-01-16 14:39 Marco Bozzano <mbozzano@fbk.eu>

	* Bug Fix (minor).

	  Data structure could be released twice after at least two
	  unsuccessfull reads of compass (or stsa) task file (e.g.  when
	  file name does not exist).

2009-01-16 11:06 Marco Bozzano <mbozzano@fbk.eu>

	* New subdir compass for COMPASS toolset stuff.  Now it contains
	  an xml parser for an xml file containing the failure mode
	  list. To be completed (not used and not tested, yet).

	  **Requires autoreconf**

2009-01-15 18:29 Marco Roveri <roveri@fbk.eu>

	* - new variables and define are created - sexp fsm is also
	  created - sexp fsm is successfully typechecked - compiles but
	  need to be attached to the top level command (I already tested
	  and it works).  - robustness to several calls is still missing
	  (few work is needed to have it working)

2009-01-13 15:43 Marco Bozzano <mbozzano@fbk.eu>

	* Bug fix.

	  When there are no failure variables, there was an internal error
	  in compute_fault_tree when layering was used. Reason:
	  "no_failure" symbol does not exist if there are no failure
	  variables.

2009-01-08 23:00 Marco Roveri <roveri@fbk.eu>

	* Fixed two problems in the dump of bdds in sigref format.

	  - <dd_node ...> was not properly closed with </dd_node> -
	  changed label of trans and initial states from * "lts state" ->
	  "trans" * "initial state" -> "initial_state"

2008-12-30 13:12 Marco Roveri <roveri@fbk.eu>

	* Modified command compass_gen_sigref to accept an additional
	  optional argument -a <ap-fname> where ap-fname is a file of the
	  form

	  [a-bA-B0-9_]+ ':' <simple_expr> ; ....  [a-bA-B0-9_]+ ':'
	  <simple_expr> ;

	  representing a mapping of a unique label with a boolean formula.

	  For istance:

	  label1 : x < 10;

	  will be mapped in the output file as

	  <dd type="atomic_prop" label="label1"> <!-- dd dump for x < 10
	  --> </dd>

	  No check is performed to guarantee uniqueness of the strings on
	  the left.

2008-12-14 09:37 Marco Roveri <roveri@fbk.eu>

	* Factorized code and exported function below that aims to declare
	  in the given "layer" and "context" the variable "name" of type
	  "type". Depending on the "mode" the variable is a state
	  variable, an input variable or a fronzen variable. It returns
	  true if a variable has been declared, false if the variable has
	  not been crated since it is a constant (the range is a
	  singleton).

	  An error is created if the variable cannot be created. This
	  error can be trapped via the CATCH/FAIL mechanism.

	  EXTERN boolean Compile_DeclareVariable ARGS((SymbLayer_ptr
	  layer, node_ptr name, node_ptr type, node_ptr context,
	  Instantiation_Variables_Mode_Type mode));

2008-12-10 17:02 Marco Bozzano <mbozzano@fbk.eu>

	* New function compute_fmea_table to implement computation of a
	  standard FMEA table.

	  A couple of bugs still to be fixed.  To be continued.

2008-12-10 13:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed wrong usage of Set_Difference

2008-12-04 13:33 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING - renamed tau -> prob

	  ** Requires autoreconf + configure **

2008-12-03 17:16 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  * Removed testing command compass_write_sigref * Implemented
	  command compass_gen_sigref * Some refactoring * Fixed bug fix
	  that made dumping segfault when dumping ADD leaves

2008-12-03 17:15 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug that made not possible for querying index of
	  a state variable given its name

2008-12-02 14:21 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a few problems with the compilation

2008-11-28 08:44 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, NEW FEATURE * restructured top level function a little
	  bit * Fixed missing closing </dd> tag * Added option -o <file>
	  to the command test_sigref_dumper

2008-11-27 18:18 Roberto Cavada <cavada@fbk.eu>

	* NEW COMMAND

	  Added a temporary command for testing the new sigref xml dumper.

	  New command is: test_sigref_dumper

	  Still to be extended to handle output to file (dumps to stderr
	  at the moment)

2008-11-27 18:16 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Added experimental code for dumping ADDs in sigref XML format.

	  New functions are available now: > EXTERN int >
	  BddEnc_print_add_sigref_format ARGS((BddEnc_ptr self, add_ptr
	  add, FILE* file)); > > EXTERN int >
	  BddEnc_print_language_sigref_format ARGS((BddEnc_ptr self, FILE*
	  file));

2008-11-26 16:37 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* PARTIAL BUG FIX

	  CVS substitutes "$Id$" in text and the tex file is not
	  compilable any more. I fixed two instances of $Id$ but did not
	  manage to fix instances wrapped by \begin{codesnippet}
	  \end{codesnippet}

2008-10-23 14:41 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #0824

	  When a fair path is found for a trivially true problem, segfault
	  does no longer occur. Instead no trace is produced and a message
	  is printed out

2008-10-08 14:51 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added option -1 to command msat_check_fp_bmc to allow
	  for single problem solving at given length k.

2008-10-07 11:51 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX When simulating all values were extracted from the
	  model, but the length of the model might be longer then the
	  requested length of the simulation, due to possibly longer
	  previoulsy executed simulations.

2008-10-07 11:49 Roberto Cavada <cavada@fbk.eu>

	* FEATURE * Re-enabled LIA instead of IDL, after bug fix #0771 *
	  Added some debugging code (not compiled)

2008-10-07 08:59 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  If addon anaconda was not configured in simulation when no LTL
	  constraint was specified a PSL property was created when LTL was
	  expected instead.  Thanks to AG for reporting.

2008-10-06 14:43 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Trace plugins were using bdd encoders only to retrieve
	  the symbol table.  ST is used to retrieve the lists of symbols
	  to show.  If the encoder had previoulsy destroyed (for example,
	  in cegar) trace explainer would segfault.

2008-10-03 16:10 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in the code that retrieves word numbers from
	  bits.

2008-10-03 13:12 Roberto Cavada <cavada@fbk.eu>

	* FEATURES Added a few new methods to BoolEnc:

	  > EXTERN int > BoolEnc_get_index_from_bit ARGS((const
	  BoolEnc_ptr self, node_ptr name));

	  > EXTERN node_ptr > BoolEnc_get_value_from_var_bits ARGS((const
	  BoolEnc_ptr self, > const BitValues_ptr bit_values));

	  In particular get_value_from_var_bits that given an assignment
	  to the bits of a scalar (or word) variable, traverses the
	  variable encoding and evaluates it, finding the corresponding
	  scalar (word number) value.

	  This has proved to be at least one order of magnitude faster
	  than passing through BDDs.

2008-10-03 13:07 Roberto Cavada <cavada@fbk.eu>

	* OPTIMIZATION

	  Calls SymbTable_is_var_finite(st, var)

	  instead of: msat_enc_is_finite_range(tc, var)

	  that works on generic expression and costs more.

2008-10-03 13:05 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added method: SymbTable_is_var_finite ARGS((const
	  SymbTable_ptr self, const node_ptr name));

2008-10-03 13:04 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added method EXTERN boolean SymbType_is_enum ARGS((const
	  SymbType_ptr self));

2008-10-02 14:47 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added getter get_prop to class Consistency

2008-10-02 14:46 Roberto Cavada <cavada@fbk.eu>

	* FEATURE If not previoulsy assigned an index, a property got an
	  index when added to the property db.

2008-10-02 14:45 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Reset was not resetting consistency

2008-10-02 14:36 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed hash functions for sets calculated by consistency,
	  that was buggy.

2008-10-02 12:47 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added option -2 to command echo, to print to the
	  standard error instead of stdout

2008-10-02 11:57 Roberto Cavada <cavada@fbk.eu>

	* FEATURE, REFACTORING

	  (Sorry, this one was impossible to split)

	  1. Added commands msat_pick_state, and msat_simulate

	  2. Moved initialization of Mathsat and SA addons down to addons
	  proper function, away from smInit.

	  3. Removed hard dependency of mathsat from consistency.

2008-10-02 11:51 Roberto Cavada <cavada@fbk.eu>

	* FEATURE, POLICY

	  1. Added support for removal of layers (was to be implemented)

	  2. Changed default theory to IDL, as all the others give
	  problems in combination with simulation. The issues is still to
	  be investigated.

2008-10-02 11:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX extract_atom is substituted by get_dependencies.

	  ** Please MR check **

2008-10-02 11:49 Roberto Cavada <cavada@fbk.eu>

	* ASSERT REMOVAL Substituted an assertion with a more verbose
	  internal_error, to help debugging situation not that unlikely to
	  occur when a symbol is not defined but used inside an expression
	  that is being normalized.

2008-10-02 11:45 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added initialization of package fsm.sexp

	  WARNING!! Needs autoreconf && configure

2008-10-02 11:42 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNCTIONS > TraceIterator_get_prev to iterate backward in
	  traces.

	  > Trace_remove_assignments_in_language to remove a languiage
	  from the shole trace.

2008-10-02 11:41 Roberto Cavada <cavada@fbk.eu>

	* NEW METHODS 1. TraceNode_get_state_assign_value to retrieve the
	  value assigned to given symbol
	  2. TraceNode_remove_assignments_in_language to remove all
	  assignments about a given language

2008-09-29 08:01 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Simplification of equal and nonequal was buggy when
	  checking non enumerative variables. In particular non-boolean
	  variables were assumed to be finite and enumerative types.

2008-09-29 07:58 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Fixed a bug in simplification of ITE: then and else branches are
	  checked wrt to pure boolean values only (0 is not a pure boolean
	  value, whereas FALSE it is) as both then and else can have non
	  boolean types.

2008-09-25 09:56 Roberto Cavada <cavada@fbk.eu>

	* OPTIMIZATION Added some more simplification in ITE:

	  c ? T : e ---> c | e c ? F : e ---> !c & e c ? t : T ---> !c | t
	  c ? t : F ---> c & t

	  This should improve performances of solvers when dealing with
	  constraints on scalar variables.

2008-09-24 15:18 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Backjumping is an option to command abstract now.  option -b to
	  command abstract turns on Backjumping Note: This is to be used
	  only with 'bddarray' abstraction

	  [KK] Double-checked by

2008-09-24 08:54 Roberto Cavada <cavada@fbk.eu>

	* FEATURE First shot of msat-based simulation.  Added
	  experimental-still-to-be-implemented first version of command
	  'msat_pick_state'

	  (this commit is intended to provide support to the activity that
	  is evaluating the main-construction helper facility)

2008-09-23 11:24 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed consisterncy construction to take into account
	  invarspec, that are moved into tableau's invars

2008-09-23 09:42 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, FEATURE

	  1. (FEAT) added option -k to build_consistency_model to keep
	  properties of the model in the produced tableau*model. Default
	  is to keep only the ctl formula AF false and get rid of all
	  properties that produced the tableau.

	  Notice that the properties DB stay untouched, the modification
	  is about only the hierarchy inside the resulting FSM.

	  2. (FIX) mainFlatHierarchy is also changed when the consistency
	  F is set as master fsm. This is to have write_flat_model and
	  other commands that exploit the mainFlatHierarchy to produce
	  their results.

2008-09-23 09:37 Roberto Cavada <cavada@fbk.eu>

	* INTERFACE CHANGE Getter SexpFsm_get_hierarchy returned a _copy_
	  of the internal hierarchy.  This made not possible to change the
	  fsm once it was created.

	  Changed the getter to return the original hierarchy hold
	  internally.

	  Notice that apart from a call into compileWrite (fixed
	  accordingly) *all* the rest of the system (and cegar as well)
	  was assuming the internal hierarchy was returned, so all calls
	  were not freeing the returned copy.

	  To simulate the old behavior, a copy must be created explicitly
	  out of the returned hierarchy.

	  Nothing else had to be changed at system level.

2008-09-23 09:17 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added missing explicit dependency from libmathsat.la, to
	  re-make linking when mathsat got changed.

2008-09-22 17:23 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Several bug fixes in consistency: 1. option -t is no
	  longer mandatory 2. quit no longer crashes

2008-09-22 15:31 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added options "-s" (to be revised) to command
	  show_property.

	  The new option when used prints the number of current
	  prioperties in the db and will be exploited by the etcs tool.

2008-09-18 11:29 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added new command "build_consistency_model" that
	  constructs a F out of a set of properties.

	  The FSM is then stored internally and associated to the
	  properties set for later reuse. The FSM is then combined with
	  the model FSM and the resulting FSM is set to be the master FSM,
	  ready for being used for model checking, abstraction through
	  cegar, etc.

	  Calling this command has also the effect of creating a new CTL
	  property "AG False" that becomes the master property.

	  At the moment there is no possibility at user level to restore
	  old (original) master property/fsm, as the corresponding
	  function is not exported at user level.

	  This command has to be used instead of old
	  'create_consistency_prop' and can be invoked after flat model
	  has been created.

	  A good strategy for reusing previously calculated tableau is
	  still to be designed/implemented. At the moment only pure
	  memoizing is in place.

2008-09-18 11:18 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX If master property is pushed in the database it is
	  alreay destroyed when the database is shut down, and master
	  property must not be destroyed.

2008-09-16 16:40 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Added command 'build_consistency_model' that takes an optional
	  set of property indices to create the consistency fsm.

	  Storage of produced FSM is still to be handled, I'm on my way to
	  implementing it.

2008-09-16 16:37 Roberto Cavada <cavada@fbk.eu>

	* INTERFACE Adapted to latests changing in corresponding version
	  of strsav in cudds

	  BTW: what the reason of having this module in sugar?

2008-09-16 16:36 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed behavior of str2int to relax cases when tail of
	  string contains spaces

2008-09-16 11:27 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Integrated command 'go_consistency'

2008-09-16 11:26 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added command 'go_consistency' that does: 1. read_model
	  2. flatten_hierarchy -d 3. encode_variables 4. build_flat_model

2008-09-16 07:45 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  When inserting in module definition in modules hash, the
	  definition was not reversed, making the order of only some
	  definitions in modules reversed later by the flattener.

	  This changed for example the order of properties occurring in
	  the property database.

	  Thanks to VS for reporting it.

2008-09-15 14:57 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Consistency creates a new layer every time it is
	  needed. This is to make consistency robust to multiple calls.

2008-09-15 14:56 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX When flat model is built, calculation of possibly
	  pending var constraints is triggered if needed.

2008-09-15 08:40 Roberto Cavada <cavada@fbk.eu>

	* FEATURE On my way of making consistency able to create a FSM
	  from a set of properties.

	  ** STILL EXPERIMENTAL **

	  Also, refactored code to use services provided now by ltl.

2008-09-15 08:39 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING Factorized two functions to create a hierarchy out
	  of a spec: > EXTERN void > Ltl_spec_to_hierarchy ARGS((Expr_ptr
	  spec, node_ptr context, > SymbTable_ptr st, > node_ptr
	  (*what2smv)(unsigned int id, node_ptr expr), > SymbLayer_ptr
	  layer, > FlatHierarchy_ptr outfh)); > > EXTERN Expr_ptr >
	  Ltl_apply_input_vars_rewriting ARGS((Expr_ptr spec,
	  SymbTable_ptr st, > SymbLayer_ptr layer, > FlatHierarchy_ptr
	  outfh));

2008-09-15 08:37 Roberto Cavada <cavada@fbk.eu>

	* FEATURE 1. Added function to initialize/deinitialize package
	  'utils' 2. Added to utils support for reating and handling
	  timers 3. Added (in utils) a private structure to keep the
	  current set of timers


	  WARNING!! Required autoreconf

2008-09-15 08:33 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Changed the way internal field 'var_set' is handled.
	  Before var_set was shared among instances of the same family,
	  now it is copied.

2008-09-15 08:04 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed merging of flat hierarchy that was failing merging
	  of assigments

2008-09-15 07:58 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING Ported from cegar structures for automatic
	  declarations of public or private arrays and hash tables.

2008-09-15 07:33 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Word extension EXTEND was considered a unary operator,
	  but it is binary

2008-09-10 09:30 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Restored rules that handles token "CTLSPEC" (equivalent
	  to "SPEC") The rule had been removed by mistake.

2008-09-10 08:00 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Added option --disable-ltl2smv (or --enable-ltl2smv[=yes|no]) to
	  disable construction of executable ltl2smv. (Default is 'yes',
	  meaning that ltl2smv is built by default)

	  This is useful to developers that do not mind constructing
	  ltl2smv as the linking phase may take some time expecially if
	  mathsat is linked as well. Notice that at the moment ltl2smv is
	  linked to the whole library of nusmv along with all required
	  dependencies, even if ltl2smv does require a limited set of
	  features only.

2008-09-09 17:07 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added the possiblity to specify IN context in
	  properties.

2008-09-09 17:03 Roberto Cavada <cavada@fbk.eu>

	* NON-COMPILED CODE Added some comments containing some
	  experimental code for handling nested contexts.

	  This code is _not_ compiled and it is let stay in src for the
	  sake of traceability.

2008-09-09 17:00 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX In sexp printer LTLSPEC and INVARSPEC were printed as
	  SPEC nodes

2008-09-09 13:57 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added JUSTICE and COMPASSION to the sexp printer

2008-09-08 07:44 Roberto Cavada <cavada@fbk.eu>

	* CONFIGURATION BUG FIX Fixed a bug that prevented nusmv from
	  beginc compiled when mathsat had not been previously built, even
	  when mathsat was not required.

	  (Thanks to VS for reporting)

2008-08-29 09:44 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Adding a missing file Thanks to KK for reporting

2008-08-29 07:40 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added directives for protection from multiple inclusion
	  Made a few variables constants

2008-08-29 07:38 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added a few missing cases in checking code.  > case
	  NUMBER_UNSIGNED_WORD: > case NUMBER_SIGNED_WORD: > case
	  NUMBER_FRAC: > case NUMBER_REAL: > case NUMBER_EXP:

2008-08-26 15:20 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Added missing base cases for leaves in nodes.

2008-08-08 12:11 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug that forces sexp inlining to be carried out
	  when booleanizing the model even when not requested.

2008-08-08 11:24 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed name generation when class name contained a number

2008-08-08 07:12 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #0727 1 and 0 are evaluated to resp. as true and false
	  in boolean context.  However, word1 constants still have to be
	  explicitly casted.

2008-08-07 17:57 Marco Roveri <roveri@fbk.eu>

	* - removed dependency from one_number and zero_number which have
	  been replaced with Expr_true() and Expr_false()
	  respectively. This enabled simplification of 1 & <expr> into
	  <expr> that otherwise was not performed.

	  - Added NO_DEFINE_FOR_OR_and_NOT_OPT conditioned code. The
	  NO_DEFINE_FOR_OR_and_NOT_OPT define controls whether in the
	  tableau construction it is created or not a DEFINE for each OR
	  and NOT occurring in the rewritten formula. Originally, a DEFINE
	  was created for each OR and NOT occurring in the rewritten
	  formula. Now, by default this creation is disabled. The reason
	  being that on large LTL properties having disabled such creation
	  results in a drammatic reduction of the size of the generated
	  internal representation of the MODULE corresponding to the
	  tableau, and as a consequence also the size of the generated
	  file, and in its subsequent handling by the flattener. To
	  re-enable the old behavior the define in the file should be
	  commented.

2008-08-07 12:41 Roberto Cavada <cavada@fbk.eu>

	* FEATURE, OPTIMIZATION 1. Added inlining (off by default) of the
	  scalar sexp fsm 2. ltl2smv and consistency make use of
	  Expr_... instead of find_node(...)  to possibly reduce size of
	  formulas.

2008-08-06 14:27 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #726 Lexers were not robust when isatty was not
	  available on the executing host.  When not available a dummy
	  version is provided by each lexer.

2008-08-06 14:13 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added inlining of scalar fsm w/ syntactic
	  simplification.  Still experimental, to be tested, off by
	  default.  To enable use "-sin on" at command level, or set
	  sexp_inlining system var.

2008-08-06 14:12 Roberto Cavada <cavada@fbk.eu>

	* FIX Fixed ITE builder to simplify also cases containing
	  conditions like NUMBER(1, Nil) or NUMBER(0, Nil) as boolean
	  constants.

2008-08-05 16:00 Roberto Cavada <cavada@fbk.eu>

	* INTERFACE, CLEANUP, DOCS

	  1. Exported in Expr.h all public function that operates on
	  Expr_ptr 2. Fixed code in Expr.c wrt coede standards 3. Added
	  comments to all functions in Expr.c

2008-08-05 14:22 Roberto Cavada <cavada@fbk.eu>

	* FEATURE 1. Making my way to implement a simplifier for
	  expressions 2. Removed method WordNumber::get_value 3. Added
	  methods WordNumber::get_{unsigned,signed}_value

	  1 is filly implemented in Expr.c 1 is not currently linked nor
	  exported

2008-08-01 14:01 Roberto Cavada <cavada@fbk.eu>

	* FEATURE * In nusmv: added leazy (postponing) calculation of vars
	  constraints.

	  During flattening if option -d is used then the vars constraints
	  are calculated possible later when needed. This optimizes
	  largely command create_consistency_prop that does not need vars
	  constraints at all.

	  * In cegar: adapter change in interface of FlatHierarchy
	  constructor.

2008-07-31 14:48 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP Changed list of vars in FlatHierarchy from node_ptr to a
	  set

	  This is in my way to optimise flattening, by delaying features
	  that are not needed during flattening

2008-07-31 07:19 Roberto Cavada <cavada@fbk.eu>

	* DOCS Fixed version in documentation. Version is now generated by
	  configure.  WARNING! You have to autoreconf and configure after
	  updating

2008-07-29 22:30 Marco Roveri <roveri@fbk.eu>

	* Added a function to print an ABW into the Alaska format.

	  void Sugar_AutomatonAlaskaPrint(FILE * file, Sugar_Automaton_t
	  *aut)

2008-07-29 15:36 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Integrated feedback from

2008-07-25 14:51 Charles Joachim <joachim@fbk.eu>

	* Added getter and setter for new FaultTree attribute
	  `probability'.

	  [cj]

2008-07-24 09:21 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Removed quotes in #warning directives that made gcc exit
	  with an error when x-compiling

2008-07-23 13:34 Charles Joachim <joachim@fbk.eu>

	* Added the possibility to include a command line argument to
	  specify the test directory.

	  [cj]

2008-07-22 18:20 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE IMPROVEMENT

	  Code is fixed to ouput line information in case of errors in the
	  input.

2008-07-22 18:17 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  Special variables (stato_processo, Terminazione, Prosecuzione)
	  now may become frozen variables if not assinged, i.e. they will
	  behave as any other vars.

2008-07-22 17:20 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TEXT

	  1. Example section is added.  2. Index is not output any more.
	  3. A text file with remainder how to generate eps files is
	  added.

2008-07-17 17:54 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE CLEAN UP + FIXES.

	  1. command line options : A. Useless option -unroll is removed.
	  B. Partially implemented options -o_smv -o_unroll are hidden.
	  C. option -quick_exiting is added to disable data-structure
	  desrtuction at the end of execution.  2. Check is added that in
	  configuration instances in LEC have the same type as the LEC.
	  3. A bug fixe and a several code clean up + style fixing.

2008-07-16 18:41 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TEXT

	  Section describing the syntax of Velos language is added.  Other
	  sections are modified a bit.

2008-07-15 19:38 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR BUG FIX

	  Removed invalid include.

2008-07-15 12:47 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Predicate normalizer was pushing next to case condition
	  even when the condition was constant. This lead to an error in
	  msatenc, as default condition was not recognized.

2008-07-09 10:44 Marco Roveri <roveri@fbk.eu>

	* BUG FIX

2008-07-09 07:22 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Removed a default link directive about expat (-L$expatlibdir)
	  that made x-compilation a problem. The directive is now taken
	  into account only when the user specifies it.

2008-07-07 17:42 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Escaping of '"' was buggy

2008-07-07 08:54 Roberto Cavada <cavada@fbk.eu>

	* PORTABILITY

	  Fixed portability of this file under windows and other possible
	  non-posix platforms

2008-07-07 08:53 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX When dumping XML trace, some chars are escaped (e.g \")

2008-07-07 08:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX When regex is not available (i.e. under windows) a
	  symbol is printed in traces when requested.

2008-07-04 13:51 Roberto Cavada <cavada@fbk.eu>

	* NEW FORMULE GENERATOR Added support for CNL formula

	  (still under devel)

2008-06-13 19:48 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX PSL parser was not handling real constants

2008-05-31 08:36 Marco Roveri <roveri@fbk.eu>

	* Now it seems to run on a small example like this one:

	  - THere was a problem that the CONSISTENCY_LAYER was not added
	  to the MODEL_CLASS.

	  - Moreover I added an empty sexpfsm to the self structure

	  I tested with the sequence of commands:

	  read_model flatten_hierarchy encode_variables
	  create_consistency_prop -o foo

	  MODULE main VAR x : real; y : real; z : boolean;

	  LTLSPEC G X x = y

	  LTLSPEC F G (z -> x + y = 0.0)

2008-05-26 11:46 Roberto Cavada <cavada@fbk.eu>

	* REFACTORING (ported from omcare branch)

	  Fixed interface of SymbType.  In particular, method
	  SymbType_print gets the instance 'self' as first argument, and
	  file* as second (as it had to be according to code rules)

2008-05-23 14:18 Marco Roveri <roveri@fbk.eu>

	* BUG FIX A static function was declared to return a value, when
	  it was supposed to return void (Ported from omcare branch)

2008-05-15 10:10 Alessandro Cimatti <cimatti@fbk.eu>

	* Fixed Trace_get_var_value_at_ith_state in order to take into
	  account the issue of frozen variables stored only in the last
	  node of the trace. Added compile-time warning.


	  Also eliminated dead code, and stated that function returns Nil
	  when no value found.

2008-05-13 07:05 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Initialization of the addon 'game' was missing!

2008-05-09 17:56 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  A parser for OMCARE format is added.  It is similar to SMV with
	  following extentions : 1. ACTIONVAR instead of IVAR.
	  2. FAULTVAR with declarations "id : real" where real is the
	  probability of a given fault in range [0,1].  3. OBSERVATIONS
	  with declarations "id : (simple-exp, simple-exp)" where
	  expressions define the set of states. First set is compatible
	  with the observation being set up, and the second one is
	  compatible with the observation being set down.  4. ASSUMPTION
	  exp; 5. GOAL exp;

	  The code is tested on simple example.

2008-05-06 15:29 Marco Bozzano <mbozzano@fbk.eu>

	* Partly aligned stsa parser with the latest one (sa did not
	  compile without game).

	  To be addressed more structurally.

2008-05-06 14:08 Roberto Cavada <cavada@fbk.eu>

	* PACKAGE RENAMING Package mbp has been renamed as 'game'. Some
	  file ghave also been moved from nusmv into the new package
	  structure

2008-05-01 22:24 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CODE

	  1. some code is added to "omcare_run" command to make possible
	  testing of FDIR. NOTE: the testing itself is not yet done.
	  2. history_window is explicitly added to execute-plan function.

2008-05-01 01:05 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  FDIR funcionality is added.  This inlcudes: 1. FDIR class which
	  create history vars, corresponding TRANS and merged BDD FSM.
	  2. omcareFdir.c files which contains the backward fault
	  detection algorithm.  3. HistoryWindow class is added to store
	  historic values of observation observations and action applied.

	  There are a few of problems: 1. The code is not yet connected to
	  command omcare_run.  2. There is no way to specify fault vars in
	  the input yet.  3. The commited code is compilable but has been
	  never run.

2008-04-23 17:19 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REFACTORING

	  Now all the functions (plan-generation, plan-validation,
	  plan-execute) deal with both Good and Bad set of states.

2008-04-23 14:49 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in the way array_sort was used.  The problem
	  showed off only in cygwin, that made qsort provided bizarre
	  results. However, it was a platform independed bug.

	  This is expected to fix assertions occurred in cegar under
	  cygwin.

2008-04-22 18:26 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURES

	  A function to perform execute-and-monitor is added.

	  Currently it is impossible to run this function properly
	  becuasethere is no external function which would read sensors
	  and report current belief states.

2008-04-22 18:22 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  New function bdd_intersected is added.  It returns 1 iff BDDs f
	  and g has not empty intersection.

	  The function is defined as: (f != 0 && g != 0 and !entailed(f,
	  !g))

2008-04-22 07:27 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX A node was not freed.

2008-04-21 15:49 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added new function

	  int Parser_ReadSimpExprFromString(const char* str_expr,
	  node_ptr* res)

2008-04-20 16:01 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CODE

	  1.First version of Plan validation is added.  2.A few bugs in
	  various classes are fixed.

2008-04-16 19:05 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* COMMENTS

	  I added a few comments of the form /* N */ after enum constants.
	  For example, ARRAY, /* 140 */ means that constant ARRAY has
	  value 140.

	  The purpose is to simplify debugging when a node of type number
	  M appears somewhere and it is unclear which constant correspond
	  to number M.

	  A better solution would be to have a function which converts int
	  to a corresponding string.

	  If someone has questions/comments we can discuss them.

2008-04-16 18:55 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  Function rpterr_node is added. It does the same thing as rpterr
	  but takes an additional argument, a node_ptr.

	  If someone has any comments/questions about this function we can
	  discuss them.

2008-04-16 18:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIXES + UPDATE

	  1. ObsList now uses Olist instead of lsList 2. Plan now has a
	  first version of printing function.  3. NuSMV command omcare_run
	  is added to run OMCARE package.  4. Many small bugs are fixed.

	  First testing is done. The package works at least on one small
	  example.

2008-04-15 17:33 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX + UPDATE

	  1. Added testing functions to Olist and Tlist classes.  2. bug
	  fix

	  First testing on Olist and Tlist are done.

2008-04-14 18:58 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CODE

	  1. Plan class and a function to extract it are implemented.
	  2. Function to covert BDD to list of action-states is done 3. A
	  command "omcare_run"'s implementation is still in process.

	  Nothing is still tested.

2008-04-10 20:40 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FILES

	  1. Class SearchNodePool (a set of node of a search tree) is
	  added.  2. First very rough impelementation of observability
	  planning is added.  Still there are problem with action-state
	  computation and plan generation from search tree.

2008-04-10 20:38 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CLASS + COMMENT FIX

	  1.New class Tlist (Two-dimentional list) is added.  2. comments
	  in Olist are fixed

2008-04-10 09:38 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CLASS + UPDATE

	  New class Slist is added -- a simple and efficient implmentation
	  of list.  OList is updated -- a few new functions are added.

2008-04-09 09:55 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FILES

	  New files are added: 1. Makefile 2. README with description of
	  the package.  3. Class SearchNode which impelements a search
	  tree in partial observability planning 4. Class ObsList which
	  implements observability function.

2008-04-04 12:41 Roberto Cavada <cavada@fbk.eu>

	* OPTIMIZATION Internal function compile_check_next now expoits
	  memoization.  This makes booleanized model built much more
	  quickly.  (Testing pinpointed this bottleneck)

2008-04-03 17:02 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE UPDATE

	  MBP package was not compilable because of an change in
	  compileWrite.c a week ago. Now MBP is updated w.r.t. that change
	  and becomes compilable.

2008-04-03 17:01 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR BUG FIX

2008-04-03 09:48 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Assignment lists were created with new_node, and then
	  resulting expressions were not destroyed. It was also stated
	  that created lists were not to be destroyed as they are involved
	  in caching.

	  Using new_node instead of find_node was sparing memory and
	  caused the node package to become slower and slower when
	  allocating new nodes (this is still a problem).

	  Fixed by using find_node instead of new_node.

	  This bug was found while investigating strange behaviours of
	  performances of nusmv pointed out by Mirko Massignani.

2008-04-02 12:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES Into the booleanizer: - fixed casts to signed and
	  unsigned for constant words - fixed sign of concatenation of
	  constant words

2008-04-01 14:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in the booleanizer that was not able to
	  handle cases containing constant words.

	  Thanks to Jeff Ferrio <AFerrio AT dow DOT com> for reporting

2008-03-27 15:47 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX issue #517 We have evidence of this bug only in CEGAR.
	  Fixed temporary, but still waiting for structural fix of bug 488

2008-03-26 15:20 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #issue 0499

	  Fixed DIMACS format that is dumped by gen_*_bmc family

2008-03-26 14:29 Roberto Cavada <cavada@fbk.eu>

	* FEATURE, BUG FIX

	  (unfortunately this commitment is not splittable with CVS)

	  * When models are dumped (as flatten or boolean) not a DAG is
	  dumped instead of a tree. Parameters that tune the resulting dag
	  are still to be fixed.

	  * init, invar, fairness, ecc and all specifications are checked
	  about next operator, as next in defines is now allowed by
	  parser.

	  * trans is checked about nested next operators

	  * (bug fix) determinization and inlining layers are dumped by
	  boolean dumper.

2008-03-26 14:25 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Relaxed grammar rule that prevented DEFINEs from containing the
	  operator 'next' in their body.

2008-03-26 14:23 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  When deciding whether a symbol has to be displayed or not, the
	  case DOT (name, number) was not considered, that is indeed
	  possible when bits are dumped in boolean models, and later the
	  boolean models are re-read.

2008-03-26 14:21 Marco Roveri <roveri@fbk.eu>

	* BUG FIX, CLEAN UP * Added BIT case that was missing * Removed a
	  warning

2008-03-20 12:55 Francesco Lago <lago@fbk.eu>

	* BUGFIX

	  1. Support for user-defined ltl expression was bugged. Now
	  should work.

2008-03-20 09:10 Roberto Cavada <cavada@fbk.eu>

	* DOCS Documentaion for: - new variables
	  counter_examples_hiding_prefix and counter_examples_show_re -
	  variable counter_examples (docs were missing) - options -dcx
	  (docs were missing)

2008-03-20 09:08 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added filtering of symbols in traces.  Two new varaibles
	  are now available: 1. counter_examples_hiding_prefix : names of
	  symbols that match this prefix will be not printed in traces
	  (default is __)

	  2. counter_examples_show_re : if given, a posix basic regular
	  expression that forces only matching symbol names to be printed
	  in traces.  This is dual of variable
	  counter_examples_hiding_prefix and matching is applied after
	  names have been filtered out by counter_examples_hiding_prefix

	  2 is available only on those systems/platforms that support
	  posix regular expressions

2008-03-19 13:15 Francesco Lago <lago@fbk.eu>

	* EFSM - PRETTY PRINTING

	  1. The efsm xmi emitter printing format is modified. Now there
	  is a line-feed after every state-variable (or expression) of the
	  abstract state machine.  Open an xmi fsm with at least 2
	  variables in eclipse to enjoy the improvement.

2008-03-18 14:57 Roberto Cavada <cavada@fbk.eu>

	* TYPO Fixed help of command 'source'

	  nonexistant -> nonexistent

2008-03-17 17:08 Francesco Lago <lago@fbk.eu>

	* SCRIPTS AND FIXES

	  1. Example configuration updated with more significant
	  configuration.  2. Scripts are back to life again! Watch out for
	  the usage changes.  3. Label checking is back to full
	  strictness. Examples are modified accordingly. 4. Special
	  variable "first_loop" added to ensure that RUN is active at the
	  first step without having to modify initial values of original
	  examples.

2008-03-17 15:15 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX - Added signed versions of operations / and % between
	  constant words.  - Fixed the booleanizer to distinguish between
	  signed and unsigned division and modulo

2008-03-14 12:04 Roberto Cavada <cavada@fbk.eu>

	* MINOR BUG FIX Fixed wrapping parenthesis

2008-03-14 12:03 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, OPTIMIZATION

	  1. Fixed bug in simplification of a -> F 2. Optimized case
	  ITE(c, T, F) to become 'c' and ITE(c, F, T) to become '!c'

2008-03-14 12:00 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Relaxed too strong assertion about CASE nodes.

2008-03-13 15:48 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES 1. Encoding of words was not simplified 2. Shifting
	  and rotation was not working when right operand was a constant
	  word

2008-03-13 15:00 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Booleanization of CONCATENATE operator was not working
	  for boolean operators.

2008-03-13 14:58 Francesco Lago <lago@fbk.eu>

	* OBJECTS

	  Adding files used to keep informations avbout objects. This
	  class is the proper symbol-table of an object, and it is stored
	  as a member of object structs inside normal symbol-table.

2008-03-13 14:56 Francesco Lago <lago@fbk.eu>

	* VELOS SEVERAL MAJOR CHANGES

	  1. Velos now supports process instances (objects). These are
	  defined by the CONFIGURE directive. Objects are saved in
	  symbol-table and are treated in a very particular way. Unrolling
	  and Ssa are not made on processo's operations anymore but are
	  performed over operations of objects.

	  2. The input files should now contain not only operation
	  definitions of a single process, but should rather contain
	  operation definitions of every process. This has to be discussed
	  furtherly.

	  3. The smv emit process now object-based. For every object, a
	  [objname]_main.smv, [objname]init.smv and [objname]body.smv are
	  outputted.  For onebyone mode, [objname]_[opname] are outputted
	  for every operation of every object.

	  4. Inlining is now performed on function calls. Every function
	  call is replaced with its current body. This is done while
	  unrolling.

	  5. gestore.AddCommandUL(string, this) function calls are now
	  replaced by a dummy assignment. This assignment is string =
	  GP_ON. the new variable will be declared with special type
	  {GP_ON, GP_OFF}.

	  6. During unrolling, every variable is made explicit. If
	  implicitly a variable refers to object "this" (simple
	  identifiers, ATOMs), the the identifier is replaced with
	  _[this]_[varname] where [this] is the actual name of the current
	  object being processed.  Special global symbol-table "scenario"
	  contains all such created variables.

	  7. As an optimization, for every object a list of "updated" and
	  "read" variables are kept. These list are used to determine the
	  type of the declaration of the variable. The variable will be
	  FROZEN if it is being only read but not assigned.


	  NOTE: Scripts does not currently work anymore.

2008-03-13 12:03 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a critical bug in the boolenaizer.  Interesting:
	  found by testing

2008-03-13 10:56 Roberto Cavada <cavada@fbk.eu>

	* TESTS Added a new feature test that checks some of the
	  booleanizer capabilities

	  Still to be completed.

2008-03-13 08:22 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES

	  1. Fixed generation of "($word mod $word)" to "($word mod ($word
	  | 1))" to prevent division by zero

	  2. Changed boolean production for "($pos_numeric mod 2)" to
	  (($pos_numeric-1) mod 2) to capture also false value.

2008-03-12 16:29 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES 1. Bit selection possibly produced signed words
	  2. "$numeric mod 2" for production of booleans fixed to sensible
	  "$pos_numeric mod 2"

2008-03-12 15:35 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES In word generators.

2008-03-12 10:57 Roberto Cavada <cavada@fbk.eu>

	* TESTING

	  Added a generic infrastructure for writing generators.

	  A generator can generate pseudo-random formulas, modules, and
	  whatever it might be useful to generate for the sake of testing.

	  The current top level generator can generate a main module
	  containing invariant specifications.

	  A few parameters controls the result of the generation: *
	  language (pure constants, variables are allowed, etc.)  * domain
	  (boolean, numeric, words, etc.)  * depth of the generation

	  In the future support will be added for CTL and LTL logics, PSL,
	  tautologies, etc.

	  If you need help in writing your own generators, have a look to
	  files smv_gen and bool_gen as good examples to start from.

2008-03-10 09:49 Marco Roveri <roveri@fbk.eu>

	* DOCS Fixed documentation about word shifting operations:
	  1. Example was buggy 2. w * N now admits N equal to width(w) for
	  shifting (and rotation) r.

2008-03-07 15:11 Roberto Cavada <cavada@fbk.eu>

	* OPTIMIZATION Again about #issue 0496 optimized constructions of
	  forms like

	  'a * !a' (and '!a * a')

2008-03-07 13:35 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX ISSUE #0496 Booleanizer now performs many syntactic
	  simplifications.  In particular, this makes encoding of
	  operations over constant words faster.

2008-03-04 08:40 Roberto Cavada <cavada@fbk.eu>

	* PERFORMANCE IMPR.

	  Added memoization to tableau construction of sbmc.  Notice that
	  sbmc results to be slower than bmc in tableau construction.

	  This may be due to an issue tracked by a note (warning) in code
	  that MR is asked to check.

	  This should close the activity about low performances of BMC
	  with BCD problems.

2008-03-03 17:44 Roberto Cavada <cavada@fbk.eu>

	* PERFORMANCES

	  Added memoization feature to functions that calculate tableau in
	  BMC.  This can provide HUGE improvement in time performances.

	  Still to be done: Add a bug+example to bug tracker to keep track
	  of this issue.

2008-03-03 16:11 Francesco Lago <lago@fbk.eu>

	* BUGFIX

	  1. Printing function fix. Now velos format is correctly
	  outputted.

2008-03-03 15:03 Francesco Lago <lago@fbk.eu>

	* NEW FEATURE

	  1. Velos now supports the embed of specifications inside a
	  processo.  The syntax is SPEC ltl_expression.  A file
	  [smvout_name]_udspecs.smv will be outputted with LTL specs.
	  2. Expressions can now contain FORALL and EXISTS construct with
	  the followin syntax: (FORALL|EXISTS) id in k_exp1 to k_exp2 {
	  expression }

2008-03-03 08:52 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #494 This fixes #494 reported as cegar bug.

	  Problem was due to the use of setcar (side effect) on nodes that
	  are hashed. Changing hashed nodes resulted in nodes not found in
	  the hash table they was supposed to be in, and later removed
	  from the nodes table when freed.

2008-03-03 08:22 Francesco Lago <lago@fbk.eu>

	* NEW EXAMPLE FILE

	  1. Example file rallentamento_puntuale fixed and tested.
	  Correctly working.  The example contains function call referred
	  to function of other processos.  All the function call remain
	  unsupported for now, since we do not know the toplevel
	  configuration of objects.  2. Parser slightly modified in order
	  to be able to parse function calls with empty parameter list.

2008-02-28 14:37 Stefano Tonetta <tonettas@fbk.eu>

	* MAJOR BUGFIX

	  1. This is the most important bugfix of my life.  The tedious
	  "SSA - unknown node encountered 4013" finally disappeared.  A
	  set of function to get all elements of a particular tag inside
	  the symbol-table has been implemented. This way the invoker can
	  dodge the problem of adding elements into a symbol-table which
	  is being iterated.  2. A debug variable "iterator_count" is
	  added into the VelosSt class with the purpose of counting
	  iterators that are currently iterating over the symbol-table. An
	  assertion is added to make sure that whenever inserting new
	  elements into the symbol-table, iterator_count should be 0.

	  [FL, AT]

2008-02-27 16:01 Marco Roveri <roveri@fbk.eu>

	* BUGFIX

	  1. Double free fixed, freeing restructured. More to come.

	  [AT, FL]

2008-02-26 19:03 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FORMAT UPDATE

	  1. Quick implementation of printer for FOR-statement.  2. adding
	  one include.

2008-02-26 18:08 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TEST FILES

	  This is the last files we obtained from Lazzaro Armando.  As
	  usual there are two versions: one is the original and the other
	  is after being fixed.

2008-02-26 16:02 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #492 Fixed bug in CEGAR that made the system crash after
	  triggering dynamic reordering.

	  The fix is an hack: waiting for a fix of #488

2008-02-26 13:50 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug that prevented to correctly dump assignemnts
	  := when boolean operands were implied.

2008-02-26 09:16 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed command _write_mathsat_model, that was still
	  pretending to use MODEL layer.

2008-02-25 16:42 Francesco Lago <lago@fbk.eu>

	* PARSER - FOR LOOPS

	  1. Parsing of ITERATE construct is substituted by the parsing of
	  FOR constructs. A basic check is also performed on FOR construct
	  to assure nothing illegal is done before type-checking.

	  2. Special expression LENGTH is being parsed and recognized as a
	  special node.

2008-02-25 15:53 Francesco Lago <lago@fbk.eu>

	* TYPE EXPLICITATION MOVED (in progress)

	  1. Type explicitation processo is being moved to transofmation.
	  WARNING: Inconsistent state of the program.

2008-02-25 12:06 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REVIEW

	  1. Comments changed.  2. Function check_return is moved from
	  type checker to filler.

2008-02-22 15:12 Francesco Lago <lago@fbk.eu>

	* OPERAZIONE'S LABEL CHECK

	  1. Now Velos complains only if OPERAZIONE_STATO operations have
	  the same label. It does not check for anything on
	  OPERAZIONE_MANUALE or other.

2008-02-22 15:07 Francesco Lago <lago@fbk.eu>

	* HEADERS RESTRUCTURED

	  1. Added 5 missing headers. Luckily no variables inside them are
	  required.  2. "treno.h" and "rallcdb.h" were truncated -
	  restructured.

2008-02-21 17:05 Francesco Lago <lago@fbk.eu>

	* BUGFIX

2008-02-21 16:46 Francesco Lago <lago@fbk.eu>

	* NEW EXAMPLES FIXED

	  1. New cpp examples fixed. Inclusion guards are added to every
	  header and headers are included in the files that need them. It
	  is possible to generate the "*_all.cpp" files for "posizione"
	  and "circuito_di_binario_rb"c by rynning the script
	  "generate_all_files".

	  A good amount of headers is still missing. There are problems
	  with treno.h.

2008-02-21 08:20 Francesco Lago <lago@fbk.eu>

	* USE BEFORE DEFINE + SCRIPT

	  1. "Use before define" check implemented in Ssa. Whenever a
	  local variable is used before being assigned, an error occours.

	  2. XMI generation script is now correctly working.

	  3. Velos _all files restored to their original form. *untested*

2008-02-20 17:40 Marco Roveri <roveri@fbk.eu>

	* NEW FEATURE

	  New addon efsm_emitter is added to the repository.  The only
	  purpose of this addon is to add a new command
	  "write_explicit_fsm".  This command outputs a BDD FSM as an
	  explicit FSM in XMI format.  There is README for more
	  information.

	  [AT, FL]

2008-02-15 16:41 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REVIEW FEEDBACK

	  I reviewd the code and made a few changed (mostly in comments).
	  A few bugs fixed.

2008-02-15 16:37 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  In error message line info was incorrect.

2008-02-15 15:38 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX + DEBUGGIN CODE

2008-02-14 16:02 Francesco Lago <lago@fbk.eu>

	* CHECK ADDED

	  1. Type checker checks for the last statement of every
	  operazione to be a return.  2. Operazione onebyone are now
	  emitted with name [outname]_op_[opname].smv

2008-02-13 12:54 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  Now During ST filling car of CONS node cannot be CONS.

2008-02-13 10:53 Francesco Lago <lago@fbk.eu>

	* TESTING SUITE

	  1. Developed a type-checker testing routine. (With ful
	  inspiration from the NuSMV tc testing script)

2008-02-13 09:50 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* DEBUGGING CODE ADDED

	  A line is added that sets a class memeber to Nil before freeing
	  the memory.

2008-02-13 09:44 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR BUG FIX

2008-02-13 09:43 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* COMMAN LINE OPTIONS CODE REFACTORING

	  1. New command line option -o_unroll is added to output unrolled
	  code.  2. Now if -o_... option is not provided then the files
	  are not output.  3. Code refactoring for all options is done.

2008-02-13 07:30 Francesco Lago <lago@fbk.eu>

	* TESTING

	  added a testing suite consisting of a script and 2 file... more
	  to come

2008-02-12 14:49 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CHANGE IN OUTPUT

	  Specifications and transition relations are output slightly
	  differently

2008-02-12 14:48 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REVIEW

	  This update is due to code review.  1. comments changed.
	  2. some code refactoring 3. a few minor bugs fixed.

2008-02-11 18:24 Francesco Lago <lago@fbk.eu>

	* ALLINONE

	  1. All in one specification are now correctly being generated
	  (more to come).  2. Code refactoring.  3. Examples updated.

	  NOTE: Circuito di binario does not parse.

2008-02-11 14:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FUNCTION/OPTION RENAME

	  -version options is renamed to -type_suggestions. The functions
	  related are changed as well.

2008-02-11 08:50 Francesco Lago <lago@fbk.eu>

	* COMMAND LINE OPTION

	  1. Command line option o_smv now takes the optional form
	  "o_smv=mode" where mode is wether 'allinone' or 'onebyone
	  (default)'.

2008-02-08 19:47 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REFACTORING

	  Now during enum type construction the list of constants is
	  copied (and freed during type descruction)

2008-02-08 19:38 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  A bug with option -unroll is fixed.  Fixed also the layout of
	  the help message.

2008-02-08 18:31 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  "in" token was erroneously removed.

2008-02-08 14:18 Francesco Lago <lago@fbk.eu>

	* MERGING CONFLICTS - CASES

	  1. Case construct back to life 2. Conflicts merged

2008-02-08 14:17 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  In a few places memory was not freed.

2008-02-08 14:16 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG + COMMENT FIX

	  The bug was in container_copy: types were not copied but just
	  pointers to them were copied.

2008-02-08 12:32 Francesco Lago <lago@fbk.eu>

	* MINOR BUGFIX

	  1. Output filename redirection containing unexistent directories
	  are now catched ad reported.

2008-02-08 12:08 Francesco Lago <lago@fbk.eu>

	* REACHABILITY MATRIX

	  1. Init and spec smv outputs are now being outputted, 1 for
	  every processo.  2. TypeChecker improved, now checking that all
	  la-values are capable of assignment.

2008-02-08 12:05 Marco Roveri <roveri@fbk.eu>

	* HEADERS UPDATE

	  1. All assigned variables in the examples have now an initial
	  value and are not consiered frozen anymore.

2008-02-07 17:15 Francesco Lago <lago@fbk.eu>

	* FILENAMES

	  1. The SMV output now consists of one .smv file for exery
	  operation, plus one file for the final processo.

	  TODO: In the future (tomorrow) there will also be one file for
	  INIT assignments and one for autogenerated specifications.

2008-02-07 16:37 Francesco Lago <lago@fbk.eu>

	* STABLE COMMIT

	  1. PrinterVelos updated. Now smv output is compilable in NuSMV
	  compiler.  2. Bugfix in parserConfig.c

2008-02-07 15:57 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Shifting of constants would fail when the encoded did
	  not contain any variables.  This fix is marked to be double
	  checked.

	  (Merged from branch s3ms)

2008-02-07 14:22 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES A few ALLOCs were not followed by an assertion stating
	  that memory was actually allocated.

2008-02-07 14:20 Roberto Cavada <cavada@fbk.eu>

	* CRITICAL BUG FIX When using time() no parameter was passed even
	  if required.  time() is used as a fallback only on systems that
	  do not provide getpid.

2008-02-07 12:40 Francesco Lago <lago@fbk.eu>

	* MEMORY LEAK FIX

	  1. NodeList created and never freed in the Ssa Generator are now
	  removed.

2008-02-07 10:17 Francesco Lago <lago@fbk.eu>

	* IMPORTANT BUGFIX

	  1. Memory bugfix. The problem was residing inside FUNCTIONS,
	  that were not being find_atom'ed because undeclared identifiers
	  were present in their names and parameters. Now functions are
	  COMPLETELY ignored (temporal solution).

	  2. Type checker improved for FORALL EXISTS and ALL_EQUAL. Stil
	  untested.

	  NOTE: The program is now running very slowly if nusmv is
	  compiled with debugging_mode = 3, and on a example of about
	  10,000 lines of code.

2008-02-06 16:56 Francesco Lago <lago@fbk.eu>

	* CODE REFACTORING

	  ST_CONTAINER disappeared from out of the symbol-table. Now all
	  constant enumerations begin with ST_.

2008-02-06 16:36 Marco Roveri <roveri@fbk.eu>

	* SSA BACK TO LIFE

	  1. SSA generator is now working.  - It is not possible to run
	  the ssa generator without the -unroll option.  - On big
	  examples, we have still some memory problem that i cannot get
	  rid of.  2. A lot of hidden bugs fixed as a result of bringing
	  ssa to work again

2008-02-06 16:17 Marco Bozzano <mbozzano@fbk.eu>

	* Command scripts now run fully-optional MCS generation
	  (generation of example traces, computation of probabilities,
	  generation of FT in FT+ format, generation of ordering file).

2008-02-05 18:03 Marco Roveri <roveri@fbk.eu>

	* NUMEROUS BUG FIXES

	  In many parts many bugs were fixed (some bugs were very
	  difficult to find and were related to memory. We thank valgrind
	  for help.) :)

	  [AT, FL]

2008-02-05 17:28 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX (DOC) A few character were suppoesed to be verbatim

2008-02-05 13:25 Francesco Lago <lago@fbk.eu>

	* LOOP UNROLL - CONFLICTS MERGING

	  1. Conflicts solved for VelosStFiller 2. VeloLoopUnrolled
	  refactored -- needs testing

2008-02-05 13:19 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Now symbol table constructor takes 'name' parameter. For normal
	  scope's symbol tables this parameter is always Nil, and only for
	  processo's ST this parameter is equal to the name of the
	  processo.

2008-02-05 13:15 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Now parser can parse configuration code which has form CONFIG {
	  one-config one-config ...  one-config } where every one-config
	  has form processo-name.list-name[size]; which specifies that
	  list 'list-name' in processo 'processo-name' always has size
	  'size'. This information is used in unrolling.

2008-02-04 17:09 Marco Bozzano <mbozzano@fbk.eu>

	* Bug fix (it affected ordering file generation).

	  Moving line input_file_name = get_input_file(options); when
	  needed in the code.

	  The bug was due to the fact that the file name is dynamically
	  allocated, and using the string parsing facilities temporarily
	  changes the input file name.

2008-02-04 12:25 Francesco Lago <lago@fbk.eu>

	* TYPE CHECKER

	  1. Type checker first pass completed. Type checks every
	  expression besides FORALL, EXISTS, ALLEQUALS.  Return and
	  function calls are not yet being type checked.

2008-01-31 20:19 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  The bug did not allowed to output parse tree before SymbolTable
	  Filler is run.

2008-01-31 20:18 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* EXTENDING PARSER

	  Now token ";" is considered as an empty statement (and it is
	  ignored by the parser).

2008-01-31 20:17 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  A first version of a transformer from C++ to Velos is
	  implemented.  The input code has to satisfy a lot of constraints
	  (there are assertions to check that).

	  This code is NOT tested properly, and does NOT parse everthings
	  it is supposed to parse.

	  Futher work requires more clear definition of how input may look
	  like.  (and more examples to test)

2008-01-31 18:27 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

2008-01-31 14:50 Francesco Lago <lago@fbk.eu>

	* REFACTORING + BUGFIX

	  1. Symbol table completely refactored, StKind class removed.
	  2. Fixed some more bugs regarding double frees.

	  At this stage, the unrolling + SSA generator is not working
	  anymore.  This is due to the fact that DOTs are still ignored
	  during symbol-table filling. The code should be compilable.

2008-01-31 14:22 Marco Bozzano <mbozzano@fbk.eu>

	* Bug fix.

	  state_symbols list was destroyed in the wrong place, causing
	  internal error, when generating the FT+ output.

	  Not clear why the bug has been triggered only after several
	  years of use ...

2008-01-31 10:53 Francesco Lago <lago@fbk.eu>

	* MINOR BUG FIX

	  The program is now compilable

2008-01-31 10:51 Francesco Lago <lago@fbk.eu>

	* SYMBOL TABLE FILLER FIXED

	  1. Fixer some major bugs in the symbol table filler after
	  restricturing.  Some memory problems still persists, but now
	  everything should work.  DOT are being skipped for the moment,
	  so SSA will not work correctly.  2. Velos Error library
	  enhanced.

2008-01-31 09:52 Roberto Cavada <cavada@fbk.eu>

	* HACK Temporary disabled cleanup of cache when cegar is not
	  configured.  Need for a fix of cache cleanup bug is reported as
	  critical in bugzilla.

2008-01-30 18:11 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE FIX

	  Code update w.r.t. the previous commit (with error reporting
	  functions)

2008-01-30 18:09 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* ERROR MESSAGES

	  Added a function to output errors and terminate the execution.

	  NOT TESTED.

2008-01-30 15:41 Marco Bozzano <mbozzano@fbk.eu>

	* We tag every specification with a unique identifier; useful to
	  run different tests on the same specification.

	  See adder files for an example (BDD and BMC run on the same
	  spec).

2008-01-30 14:11 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIXES

	  1. Comments modifications 2. adding new assertions 3. now all
	  constants are defined at top level 4. FROM NOW ON ONLY ATOM ARE
	  CACHED (find_atom''ed). EVERYTHING ELSE (DOT, ARAY, ETC) ARE NOT
	  CACHED EVER.

2008-01-30 14:08 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* GRAMMAR MODIFICATION

	  Now in statement blocks all var declarations have to go before
	  of any other statement.

2008-01-30 13:42 Marco Bozzano <mbozzano@fbk.eu>

	* Improved option management.

	  Now it is possible to specify: - a set of options to be
	  "shakered" (every possible combination is tried) - a set of
	  mandatory options (to be specified separately for the fair and
	  tested version of NuSMV)

	  Syntax also modified.  Now all options must be written with list
	  notation.

2008-01-25 10:52 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CHANGE IN PRINTING

	  Now when a processo is printed out the declarations of vars are
	  taken from Symbol Table (and not from parse tree).

2008-01-25 10:35 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  WARNING! This fix might be still not complete WARNING! It is
	  needed to check and fix it because it WARNING! is a stopper for
	  next release.

	  Cache was not cleaned up when removing a layer.  This fix is
	  intended to allow cegar to perform actions that are not
	  currently performed by nusmv.

2008-01-25 10:32 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, REFACTORING

	  When removing layers, some constraints were assumed to be valid
	  only at the public interface, but that interface was used also
	  internally without considering those constraints as valid.

	  Added (refactored) a private version of the interface that
	  relaxes the constraints, that are still valid in the public
	  interface.

2008-01-25 10:28 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added method

	  boolean SymbTable_is_layer_in_class(SymbTable_ptr self, const
	  char* layer_name, const char* class_name)

	  to check whether a layer belongs to a given class.

2008-01-25 08:20 Francesco Lago <lago@fbk.eu>

	* TYPES

	  1. Types are now correcly being added in symbol table. Briefly
	  tested.

2008-01-24 11:00 Roberto Cavada <cavada@fbk.eu>

	* NUSMV: FEATURE CEGAR: BUG FIX

	  Added method create_class to class SymbTable to create a new
	  class of layers even if empty

	  Fixed mirrors set in cegar to be potentially empty.

2008-01-24 10:23 Francesco Lago <lago@fbk.eu>

	* TYPES

	  1. Basic types introduced in symbol-table. Still have to care
	  about boolean types. More to come.

2008-01-23 15:00 Francesco Lago <lago@fbk.eu>

	* MAJOR BUGFIX

	  1. Fixed a major bug about unroll->ssa indexing
	  problem. Codename "B.O.B."

2008-01-23 13:22 Francesco Lago <lago@fbk.eu>

	* ALL_EQUALS

	  1. All equals implemented, but no test cases.  2. Set back to
	  normal undefined identifiers' ssa check

2008-01-22 16:45 Francesco Lago <lago@fbk.eu>

	* FIRST WORKING UNROLLING ALROGITHM

	  1. Iterates are now translated into sequential blocks of
	  statements before passing the code to the ssa.  2. Ssa algorithm
	  slightly modified in order to support undeclared DOT identifiers
	  which are generated by (1).  3. StKind modified, now supporting
	  ST_KIND_ALIAS.  4. VelosStFiller now adds ALIASes in the st.

2008-01-22 15:33 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added function Formula_GetConstants that returns the set
	  of constants found in a formula

	  Performance issue: currently not memoized

2008-01-22 13:34 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed minor points.

	  Added script test_against_exp_out.py, to compare NuSMV with the
	  expected output.

	  The expected output is stored on a file source.out, where
	  source.smv is the smv source.

2008-01-22 12:38 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in BoolEnc that occurred when more than one
	  bool encoder is used. If a bit variable was already created (by
	  any encoder), the corresponding boolean encoding was not stored.

	  This is expected to fix cegar bug that kalyan found in hybrid
	  models.

2008-01-22 10:38 Marco Bozzano <mbozzano@fbk.eu>

	* MCS can be generated in a different order.  The comparison
	  function now takes care of that.

	  test_against_fair script should now be up and running, some
	  testing carried out and OK.

2008-01-21 17:24 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed a new bugs: input file to be compared was not seeked at
	  pos. 0; pattern for # of cut set was wrong.

	  Improved management of empty and none cut sets.

2008-01-21 16:03 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug in method copy

2008-01-18 16:19 Roberto Cavada <cavada@fbk.eu>

	* HACK, FEATURE

	  * Added support for 'meta-addons' intended to be aliases * Added
	  meta-addon 'cegar' whoch depends on 'mathsat' * Hacked BddEnc to
	  always create groups of two variables for state vars.  WARNING:
	  1. This hack applies only when 'cegar' is configured as addon
	  2. The hack does not work when input variables are used 3. The
	  hack is intended to be temporary, and requires a structured fix

2008-01-18 15:42 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* INTERFACE CHANGE

	  Just introduced NodeList_search now takes one more argument -- a
	  predicate function.  A search is done for element on which the
	  predicate returns true.  If the predicate is NULL then equality
	  comparison is performed.

2008-01-18 14:45 Marco Bozzano <mbozzano@fbk.eu>

	* Now it is possible to associate each source file with a command
	  script file to be executed.

	  The command script file must be named source_file.cmd, if
	  source_file.smv is the corresponding smv file.

2008-01-18 14:27 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* INTERFACE EXTENSION

	  Function NodeList_search is added to NodeList class.  The
	  function searches for an element in a list and returns an
	  iterator.

2008-01-18 13:45 Marco Bozzano <mbozzano@fbk.eu>

	* Scripts for sa testing.

	  Not yet working, just a backup.  Still working on it.

	  test_against_fair is a script which is supposed to compare the
	  MCS resulting from the execution of two different versions of
	  NuSMV. To be used for non-regression testing.

	  Added one example (adder), to begin with.

2008-01-18 11:19 Francesco Lago <lago@fbk.eu>

	* FINAL PHI INEDXES PROBLEM FIX

	  Problem with undefined variables solved. NuSMV still stucks at
	  reading input ... maybe the fsm is too big?

2008-01-18 10:11 Marco Roveri <roveri@fbk.eu>

	* FEATURE Added variable "not_built_addons" that contains the list
	  of addons not to be built when requested explicitly. When
	  requested as dependency, the addons will be built

2008-01-18 09:42 Francesco Lago <lago@fbk.eu>

	* FINAL PHI FUNCIONS

	  Problem solved, now final phi functions looks ok. Still need
	  some more testing.

2008-01-18 09:28 Francesco Lago <lago@fbk.eu>

	* FINAL PHI FUNCTION INDEXES FIX

	  There is always only ONE variable at the final phi function, but
	  now indexes should be correct.

2008-01-17 21:49 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* MINOR BUG FIX

2008-01-17 19:24 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CONSISTENCY UPDATE

	  This update restore consistency between files wrt two previous
	  commits.

2008-01-17 19:20 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CLASS

	  Class PrinterVelos is introduced to implement print_node
	  function for Velos constructs.

2008-01-17 14:49 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE CLEANING

	  removed declaration of pprint_sexp_custom which was not defined
	  or use anywhere.

2008-01-17 09:11 Francesco Lago <lago@fbk.eu>

	* SSA - ACT 2

	  1. Ssa algorithm implemented in a slightly different manner. Now
	  keeping indexes of global variables inside local symbol-tables
	  of the block in which they are being modified.  The return phi
	  function algorithm is still to implement.  2. Added some useful
	  functions to VelosSt.  - VelosSt_search_for_kind, which
	  recursively searches for an identifier in its upper scope until
	  a valid element is found.  - VelosSt_find_scope modified in
	  order to return the declaration scope of a variable, and not
	  just any symbol-table where the variable is modified.  -
	  VelosSt_is_local, returns true iff the identifier is declared in
	  that particular scope.  3. StKind modified in order to contain a
	  pointer that points to the definition scope of the identifier.

2008-01-16 17:24 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* SYMBOL FILLER IS REWRITTEN

	  I rewrote ST-filler to: 1. Modify descirptions in comments
	  2. Move code from imperative to functional style 3. Rename
	  functions and vars 4. Add few warnings

2008-01-16 10:00 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNCTION, REFACTORING

	  * Added method SymbTable.get_layers_sf_i_vars * Removed methods
	  SymbTable.get_class_*_{symbols,vars} as methods
	  SymbTable.get_layers_*_{symbols,vars} have to be used now.

	  WARNING: Requires a minimal test/check of SA

2008-01-16 08:38 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Removed any reference to MODEL_LAYER in simulation,
	  substituted by the default class of layers.

	  This makes cegar capable of simulating abstract models.

2008-01-15 16:14 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Made command 'show_vars' no longer assume that a model layer
	  exists. Now the default layers class is taken, making possible
	  to cegar to print either abstract or concrete variables
	  depending on the context it is set.

2008-01-15 15:25 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX A static member was not correctly cleaned up

2008-01-15 14:29 Roberto Cavada <cavada@fbk.eu>

	* FEATURE

	  Private functions that set global encoders has been exposed to
	  the public interface. Their implementations have been slightly
	  impaired in order to preserve the system consistency. From nusmv
	  point of view, nothing changes.

2008-01-15 14:26 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug that showed up when more than one bool
	  encoder was used, and the same layer was submitted to two or
	  more bool encoders.

	  Again, the problem was pinpointed by cegar, that makes a more
	  advanced use of encoders than nusmv itself.

2008-01-15 14:23 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP On my way of removing unneeded/buggy references to
	  global encoders when under the (in general false) assumption
	  that there exist only one encoding.

2008-01-15 14:20 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added method OrdGroups_ptr OrdGroups_copy ARGS((const
	  OrdGroups_ptr self));

	  Like previous commitment, the addition satisfies requirements
	  coming from cegar, that needs to access ord groups and copy them
	  among different encoders

2008-01-15 14:18 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added method OrdGroups_ptr BddEnc_get_ord_groups(const
	  BddEnc_ptr self)

	  This addition was issued by cegar requirements.

2008-01-15 10:22 Francesco Lago <lago@fbk.eu>

	* RETURN POINTS UNIFY

	  1. Implemented the algorithm to unify return points, basic test
	  performed.  - Still not removing returns from code, just
	  building a final return which switches over control flow
	  conditions.  2. Added a function for converting a NodeList of
	  COLON nodes to a CASE node list.  3. Forgot to mode
	  NodeList_ext.h to its place.

2008-01-15 08:20 Francesco Lago <lago@fbk.eu>

	* MAKEFILE

	  Forgot to modify the Makefile.am for the previous folder
	  restructure.

2008-01-14 17:20 Francesco Lago <lago@fbk.eu>

	* SIMPLE SSA

	  1. Simple SSA, involving assignments, nested blocks, ite
	  branches implemented. Still not taken into consideration
	  iterations of any kind.  2. Implemented NodeList_ext.c, which
	  extends the functionalities provided in utils/NodeList.h to
	  consider SSA_VAR atoms.  3. Added method to convert a VelosSt
	  into a list of nodes.

2008-01-09 17:38 Francesco Lago <lago@fbk.eu>

	* MAJOR PROGRESS

	  1. Basic SSA algorithm implemented. Still missing phi-functions.
	  2. StKind extended in order to support ST_KIND_PARAM tag, which
	  represents a formal parameter. Formal parameter are treated by
	  ssa like constants, since it is asserted they won't be assigned.
	  3. StSsaKind class implemented, will be used to store
	  information about created ssa-variables in symbol-table. Still
	  not used in the ssa algorithm.

2008-01-09 16:22 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #486 Fixed addons dependencies tracking.

	  WARNING: run autoconf after updating

2008-01-04 16:50 Francesco Lago <lago@fbk.eu>

	* EXPRESSIONS

	  1. Expressions are now being browsed for EXISTS, FORALL and
	  ALLEQUALS nodes that defines new identifiers to be added to
	  their own symbol-table.

2008-01-03 16:45 Francesco Lago <lago@fbk.eu>

	* CONSTANTS AND LISTA ENTI FILLING

	  1. If constants that are being added into symbol table are
	  already present, the algorithm can just skip the addition rather
	  than assert false.  2. StKind extended in order to support
	  LISTA_ENTI tag. Printing prodecure extended accordingly.
	  3. Lista_enti and constants are now being filled into symbol
	  table.  4. Operazione declaration's "alias name" (the one
	  defined in square brackets) is now being added into the st as a
	  constant.

2008-01-03 15:41 Francesco Lago <lago@fbk.eu>

	* FILLING FUNCTIONS

	  1. Implemented and tested the suite of functions used to build
	  the symbol table entries for processes.

2008-01-03 09:47 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* DEBUGGING CODE

	  Added a loop to output the identifier of parsed top level
	  constructs.

2008-01-02 13:36 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* INTERFACE CHANGE

	  A function prototype is added (which takes a parse tree and
	  fills in a symbol table).

2008-01-02 13:28 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE REVIEW

	  Checked VelosSt, VelosStIter, StKind.  A few problems remain to
	  be fixed later.

2007-12-30 23:07 Marco Roveri <roveri@fbk.eu>

	* ITERATOR AND ST PRINTING

	  Added class VelosStIter which implements an iterator of the
	  symbol table.  Implemented a print method for the printing of
	  the symbol table.

	  Francesco Lago

2007-12-29 23:38 Marco Roveri <roveri@fbk.eu>

	* INTERFACES IMPLEMENTED

	  VelosSt.c and StKind.c implemented over defined interfaces.

	  Francesco Lago

2007-12-28 17:17 Marco Roveri <roveri@fbk.eu>

	* POINTER HASH

	  VelosSt constructor modified in order to hash pointers instead
	  of strings.

	  [Francesco Lago]

2007-12-28 16:39 Marco Roveri <roveri@fbk.eu>

	* FILES MOVED

	  Moved VeloSt and StKind to new folder "symbol_table".  Interface
	  restructured.  NOTE: C files are not yet implemented.

	  [Francesco Lago]

2007-12-27 10:03 Roberto Cavada <cavada@fbk.eu>

	* FIX Fixed a typo that was in conditioned code. The typo made
	  module parser not compilable.

2007-12-10 17:18 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Now Velos parser can read function (operation) definition.
	  1. Expressions in Velos are the same as in SMV.  2. New boolean
	  expressions added: EXISTS, FORALL, ALL_EQUAL.  For example,
	  EXISTS(new_name in list, new_name.treno != global_treno) - here
	  new_name is an iterator over elements of "list".  Expression may
	  be a function call, e.g., gestore.AddCommand(VALUE1, var)).
	  3. The statements are : var-declaration (as in SMV),
	  if-statement (as in C), assignment ("id := exp;"), function_val
	  ("id(exp_list);"), loop ("ITERATE(new_name in list)
	  {statement_list}") return-statement ("return exp;")
	  label-statement ("id : statement;") function-call (
	  "id(expression_list)" ) 4. Function definitions begin with
	  enumeration list (possible return values), a name, a list of var
	  declarations in parentheses (without VAR and separated by comma)
	  and a list of statements in curly brackets.

	  Preliminary testing is done.

2007-11-27 10:25 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug that caused segfault. The bug occurred when
	  the system was configured without addon S3MS.

2007-11-27 08:42 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed the way quotation was handled. Now for example in
	  formula 'G "x < 8"' the expression "x < 8" is handled as a
	  (boolean) atom.

2007-11-21 18:40 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE CLEANING

	  Option -word_mono (makes Word exp be encoded as one ADD instead
	  of an array of ADD) is completely removed.

	  All the functions which served for that option are moved.

2007-11-21 14:40 Roberto Cavada <cavada@fbk.eu>

	* CLEANUP

	  Restored original functionalities of command check_invar_bmc
	  (whose code was hacked for debugging it)

2007-11-21 10:52 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed command write_boolean_model that did not dump
	  content of layers deriving from the booleanization process.

2007-11-21 10:51 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Booleanization was not idempotent.  In particular, NEXT
	  nodes were not kept with BITs.

	  The problem was sleeping since at least 2.3.0, and never showed
	  up as booleanization of already booleanized formulae cannot
	  occur in standard system.

2007-11-21 10:44 Roberto Cavada <cavada@fbk.eu>

	* PORTABILITY Fixed definitions of custom_* function pointers to
	  be consistent with other similar definitions.

2007-11-20 16:12 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, CLEANUP Integrated feedback from AT (thanks for
	  providing).  - Fixed a bug - Fixes in comments - Some cleanups

	  This closes bug #482

2007-11-20 13:33 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #482

	  * Time for next variable is now handled correctly (still waiting
	  for a double check)

	  * At RBC level, substitution now checks at runtime for invalid
	  substitutions

2007-11-20 13:28 Roberto Cavada <cavada@fbk.eu>

	* PORTABILITY

	  Added support to configure to the compiler's constant __func__
	  that holds the name of current function and that can be used for
	  debugging and report issues.

	  IMPORTANT NOTE FOR DEVELOPERS Previous code contained references
	  to macro __FUNCTION__ that is not supported by all
	  compilers. Furthermore, __FUNCTION__ is now deprecated by C99.

	  From here on, please use constant __func__ that is _always_
	  available, after including "config.h". The way you include
	  config.h has to be:

	  #if HAVE_CONFIG_H # include "config.h" #endif

	  that is supposed to appear at the beginning of the file
	  containing __func__

	  Please note that when not supported by the hosting compiler,
	  __func__ may be the empty string "".

2007-11-19 17:18 Roberto Cavada <cavada@fbk.eu>

	* NEW FUNCTION, CLEANUP

	  Added function Cmd_RemoveCmd to remove a previously added
	  command (exploited by cegar).

	  General cleanup wrt code rules.

2007-11-19 17:17 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX #480 This fixes a critical bug that was introduced by
	  BeEnc refactoring.

	  When memoizing shift operations _deltas_ were used by new code
	  instead of _times_. As deltas are relative to the internal
	  structure width, and as structure width changes dynamically,
	  mentioned memoizing resulted to be buggy.

	  Double checked with MR.

2007-11-19 14:24 Marco Bozzano <mbozzano@fbk.eu>

	* Bug fix.

	  A be index might not have any associated cnf literal, depending
	  on the property. If this is the case, then the corresponding
	  variables is not selected as a preferred one (and a warning is
	  printed, depending on the verbosity level).

2007-11-17 10:07 Marco Roveri <roveri@fbk.eu>

	* - Closing bug 480.

	  The problem was due to the missing cleaning of the shift hash in
	  the BE package after the declaration and commit of any
	  layer. Indeed, if you run any BMC problem before calling any
	  SBMC routine (which declare additional variables), then the hash
	  was not cleaned until the removal of the newly declared
	  variables.

2007-11-15 14:26 Marco Bozzano <mbozzano@fbk.eu>

	* Moved instruction to turn property into bdd after addition to
	  the property database (which traps type checking problems).

	  This avoids abonrmal termination in case of a wrongly typed
	  property.

2007-11-14 11:59 Marco Bozzano <mbozzano@fbk.eu>

	* New option "-B" in compute_fault_tree_sbmc_inc.  If set, it adds
	  blocking clauses permanently at all time steps (default is no,
	  blocking clauses added to the volatile frame, only at the last
	  time step).

2007-11-14 09:33 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added scalar predicates (enabled when mathsat addon is
	  enabled).  Sintax is:

	  PRED [\[time\]] [<name> := ] expr;

	  where expr can be a boolean formula, or a case with required
	  default action: case expr1 : sv1; ...  1 : svN; esac;


	  svI is a scalar value for the abstract variable.

2007-11-14 09:29 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added typedef boolean (*BPFN)(node_ptr) to be used by
	  NodeList::{map,filter} methods

2007-11-14 09:27 Roberto Cavada <cavada@fbk.eu>

	* FEATURES Added methods: SymbTable_get_layers_sf_vars and
	  SymbTable_get_layers_i_vars

2007-11-14 09:13 Roberto Cavada <cavada@fbk.eu>

	* FEATURES Added methods 'map', 'filter' and macro
	  NODE_LIST_FOREACH to be used to iterate.

2007-11-12 17:36 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CHANGE IN TESTS

	  Tests for words are updated to take care about the new type
	  Signed Word.

2007-11-08 19:26 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX Precedence of "mod" is now the same as * and /.  It was
	  between +/- and shift.

2007-11-08 19:06 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TYPE

	  New type "signed word' is introduced.  From now one old type
	  "word" is called "unsgined word".  New signed semantics for >,
	  <, >=, <=, /, mod, >> is introduced.  New operations are
	  introduced: signed, unsigned, extend.

2007-11-05 15:19 Marco Roveri <roveri@fbk.eu>

	* BUG FIX Fixed to handle sharp (#) in id names

2007-10-26 13:22 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX

	  Message "Done" output by NuSMV was erroneously interpreted as
	  successful termination of NuSMV. In fact, some packages may
	  output this message during their work.

2007-10-26 13:19 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  At the end of Sm_End (deinitialization function) if verbosity >
	  0 then message "Successful termination" is output now.

	  The purpose of this unique message is to indicate a successful
	  run and termination of NuSMV. This presence of this message may
	  simplify tesing scripts.

2007-10-25 18:37 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTIONS

	  To SymbType class new functions are added:
	  SymbType_is_infinite_precision -- returns true if type is
	  integer or real SymbType_calculate_type_size -- returns the
	  number of bits required for this type.

2007-10-25 18:34 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FUNCTION

	  I added Expr_xor function and added optimization to Expr_not (to
	  deal with constant and NOT expressions).

2007-10-23 17:55 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* FIX

	  Checking the type of subexpression not enough to detect that
	  there are infinite precision arithmetic in subexpressions.  So a
	  proper check is invoked now.

2007-10-12 11:36 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* IMPLEMENTATION CHANGE

	  1.  Implementation of annotation bit in rbc and dag packages is
	  changed.  Now the annotation bit is the lowest bit (instead of
	  the highest one).

	  This change is forced by the fact that when nusmv library is
	  invoked from Java code on multi-processor machine then malloc
	  may return addresses to higher half of memory, i.e. the highest
	  bit may be 0 as well as 1.

	  In dag packge an assert is added that the lowest bit is always
	  0.  Thus if the current implementation is incorrect it will be
	  instantly detected.

	  2.  File dagEn.c is removed from compilation, but still it is in
	  the directory. The file implements function Dag_Ennarize which
	  is not used anywhere. If no one claims this file for some time
	  then the file can be removed completely.

2007-10-05 20:12 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CODE.

	  Implementation of the algorithm for S3MS to deal with string
	  constants.  Also some code cleaning was done.

2007-10-04 14:24 Marco Roveri <roveri@fbk.eu>

	* Please before latexing the code_rules.tex file do

	  cvs co -ko code_rules.tex

	  otherwise keyword substitution will occurs inside the file
	  causing latex to fail latexing.

	  Marco Roveri

2007-10-01 15:56 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW CODING RULES

	  A new "Coding Rules and Conventions" document is created (in new
	  directory nusmv/doc/code-rules). Old code_rules.tex is removed

	  Note: This is not yet final version. A few notes have to be
	  cleaned up.

	  Note: This file is not connected to NuSMV configure/makefiles
	  system and therefore is not automatically created with other
	  NuSMV documentations.

2007-09-25 21:17 Marco Roveri <roveri@fbk.eu>

	* Initial routines for extracting all the info from constraints
	  and for checking the language has the required constraints.

	  Not yet tested. Just for backup

2007-09-11 17:41 Roberto Cavada <cavada@fbk.eu>

	* FEATURES - Added new option --enable-expat - Added new option
	  --enable-addons - Removed deprecated options --with-<addon>

2007-09-11 13:40 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Finished implementation of the explicit approach to
	  (un)realizable core computation. Some testing is done.

	  Command line option -mbp_unreal_core now has additional
	  parameter 'o' which causes minimization also of opponent's
	  constraints.

2007-09-11 13:34 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Added a command line option related to MBP package.

2007-09-03 08:56 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed missing deallocation of node lists.

2007-09-03 08:54 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX

	  Fixed a bug in free_node that prevented nodes allocated with
	  new_node that had been also allocated with find_node to be
	  correctly freed.

2007-08-30 14:37 Roberto Cavada <cavada@fbk.eu>

	* NEW FEATURES Added support for following functions set to the
	  generic sat interface:

	  void Set_Polarity_Mode(MiniSat_ptr ms, int mode); int
	  Get_Polarity_Mode(MiniSat_ptr ms);
	  voidSet_Random_Seed(MiniSat_ptr ms, double seed);

	  The functions are effective only with Minisat-2 and have a fake
	  behaviour (no effect) with previous versions of Minisat. With
	  all other sat solver an error occurs when invoked.

	  Fixed Minisat version 1.14 to compile with nusmv, as backward
	  compatibility had been broken by introducing
	  Set_Preferred_Variable and other new functions.

	  To be tested. Currently the new features are not exploited by
	  nusmv.

2007-08-29 13:46 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX, OPTIMIZATION, CLEANUP

	  - Fixed a memory leak due to unallocated buffer in both system
	  and psl parsers.

	  - yy_scan_buffer is used instead of yy_scan_string, to avoid
	  copy

	  - yyrestart is no longer called (assumed to be wrong, a #warning
	  tracks it)

2007-08-29 11:56 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Rework on a previous bug fix.

	  When creating/extending a trace with BDDs, by default only
	  symbols occurring it committed layers are taken into account
	  (and not layers registered into the trace manager, that are
	  condered only when printing the trace). Integers and Reals are
	  not considered.

2007-08-29 10:06 Marco Roveri <roveri@fbk.eu>

	* Fixed buggy printing!!! A warning was printed to nusmv_stdout
	  and it was not starting with "--", thus when re-reading the file
	  generated the comment was misintrpreted.

2007-08-28 15:34 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX (CEGAR)

	  Fixed a bug reported by kalyan. The problem was indirectly
	  linked to the way states and transitions are now stored into
	  traces. When adding new states (and transitions) via BDDs,
	  corresponding assignments were calculated by using the entire
	  set of symbols, instead of the set of symbols to be shown in
	  traces.

	  ** This means that now traces stores only symbols that we are
	  interested in _showing_. This might be not a good solution, so
	  possible re-word might be needed. **

2007-08-27 15:11 Marco Bozzano <mbozzano@fbk.eu>

	* Ported modifications by [MR] to sa:

	  - Fixed a problem with inlining and disable_counter-example in
	  the incremental algorithms. Incremental SAT algorithms must call
	  Bmc_Utils_apply_inlining3inc instead of Bmc_Utils_apply_inlining

	  When inlining optimization is enabled, and
	  computation/extraction of counter-examples is disabled the
	  conjunct set of the inlining was not added to the SAT solver in
	  each add. These missing constraints where causing unsoundness of
	  the call to the S solver. The conjunct set can be disregarded
	  ONLY when the S solver is called non incrementally.

2007-08-24 09:45 Marco Bozzano <mbozzano@fbk.eu>

	* Fixed function find_bdd_mcs: now traces are lists of nodes, so
	  the bdds must be explicitly computed.

	  Possible optimization: use internal cache of bdds?  -> ask NuSMV
	  team.

2007-08-23 13:05 Marco Bozzano <mbozzano@fbk.eu>

	* Enabling calls to set and clear preferred variables.  Now it
	  should be compilable with the new version of minisat.

	  IMPORTANT: you need to re-build minisat, otherwise NuSMV won't
	  compile.

2007-08-21 09:00 Marco Roveri <roveri@fbk.eu>

	* - Fixed a problem with inlining and disable_counter-example in
	  the incremental algorithms. Incremental SAT algorithms must call
	  Bmc_Utils_apply_inlining3inc instead of Bmc_Utils_apply_inlining

	  When inlining optimization is enabled, and
	  computation/extraction of counter-examples is disabled the
	  conjunct set of the inlining was not added to the SAT solver in
	  each add. These missing constraints where causing unsoundness of
	  the call to the S solver. The conjunct set can be disregarded
	  ONLY when the S solver is called non incrementally.

	  - Fixed a memory leak in the sbmc_MS_destroy

2007-08-16 22:40 Marco Roveri <roveri@fbk.eu>

	* Added support for computation of dependencies also for PSL
	  properties natively.

	  A better/modular extracxtion (via a mechanism similar to the one
	  used in the type checker and printer) should be implemented

	  It is ok for more of the PSL operators, but some of them
	  (marked) for whom I'm not completely sure (syntax should be
	  checked).

2007-08-07 14:06 Charles Joachim <joachim@fbk.eu>

	* REFACTORING

	  Replace use of BDDs with SEXP in traces.

	  [cj]

2007-08-03 15:25 Marco Roveri <roveri@fbk.eu>

	* fixed bug 472. Thanks to Vincent Gourcuff
	  <vincent.gourcuff@lurpa.ens-cachan.fr> that reported the bug.

	  Problem was on the first argument of find_node that should be an
	  short int instead of an int (the node structure requires this,
	  while find_node and new_node don't).

2007-07-18 15:58 Roberto Cavada <cavada@fbk.eu>

	* BUG FIXES Fixed a few bug to make cegar able to switch nusmv
	  from concrete to abstract space

2007-07-11 15:28 Roberto Cavada <cavada@fbk.eu>

	* FEATURE, BUG FIX - fixed ATTIME handling - TC handles (statement
	  AND boolean) as a boolean type

2007-07-06 09:34 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  Code for computation of Unrealizable Core is added.  Almost all
	  new code in mbpUnrealCore.h The code is just for experiments. it
	  is quite dirty, does not frees memory, etc.

2007-07-06 09:33 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW COMMAND LINE OPTION

	  New undocumented options -mbp_unreal_core is added. Used only in
	  MBP package.

2007-07-06 09:32 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW OPTIONS

	  A new undocumented options -mbp_unreal_core is added. Used only
	  in MBP package.

2007-07-06 09:31 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* INTERFACE EXTENTION

	  I added a function to clean association in FSM between vars and
	  exprs they occur in. The function required for new code of
	  UnrealizableCore computation.  Be careful, invocation of this
	  function makes COI impossible.

2007-07-05 07:31 Roberto Cavada <cavada@fbk.eu>

	* FEATURE Added internal support for ATTIME node

2007-07-04 11:40 Roberto Cavada <cavada@fbk.eu>

	* BUG FIX Fixed a bug with forced shuffle inside dd.  Version of
	  used CUDD is detected during configuration and this info is used
	  by BddEnc when creating groups.

2007-06-18 16:58 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* CODE UPDATE

	  This is update of SA package with respect to the last NuSMV
	  modifications (introduction of FROZENVAR).

	  WARNING: inspection of SA code was not comprehensive, i.e. it is
	  compilable but likely to work incorrectly after this update.

	  People responsible for SA package should look what changed with
	  this update and re-inspect the modifications and the existing
	  code.

2007-06-18 16:51 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW FEATURE

	  A new declaration FROZENVAR is added to NuSMV language. This
	  declaration introduces new kind of variables -- frozen
	  variables. Frozen variables behave the same as state variables
	  except that for every frozen variable var_f there is implicit
	  ASSIGN next(var_f) := var_f; i.e. frozen variables cannot change
	  their values at transition.  This allows some optimizations in
	  BDD and BMC (frozen vars are not abstracted during image
	  computation in BDD, and every frozen variable need only one
	  index for all time steps in BMC).


	  Introduction of frozen variable forces changes in notions: 1)
	  variables are divided in 3 disjoint sets: state variables,
	  frozen variable and input variables.  2) a "state" now is
	  assignment to *both* state and frozen variables 3) there are
	  still only two groups of symbols: sf_symbols -- state vars,
	  frozen vars and defines containing them.  i_symbols -- input
	  vars and defines containing them.

	  Note: NuSMV code has been modified considerably and has not been
	  tested well yet.

2007-06-08 15:13 Roberto Cavada <cavada@fbk.eu>

	* NEW FEATURE

	  Added a futher level of granularity to the way layers are
	  organized into a Symbol Table (ST). After creating a layer, it
	  can be freely associated into the ST with a "layers class", that
	  is a logical way of grouping layers.

	  A layer can belong to zero, one or more classes at the same
	  time.

	  Inside the ST there exist then one "default" layers class that
	  is used when a class is not specified (NULL). For example when
	  writing the boolean model to a file, default layers class is
	  taken.

	  Default class is currently set to constant MODEL_LAYERS_CLASS
	  now exported by <compile.h>.

	  This is a general way of making external programs able to change
	  the way many commands inside nusmv work. In particular, the
	  feature is required by cegar's switching context feature.

	  WARNING: This feature is still alpha. Very minimal testing has
	  been carried out, and requires code review.

2007-06-04 13:49 Roberto Cavada <cavada@fbk.eu>

	* DEVEL DOCS Some new docs (draft) for: - linking nusmv's library
	  externally - understanding basics of nusmv structure

2007-05-28 15:32 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* BUG FIX #469 (and probably #471)

	  A few fixes in booleanization of words. This fix changed dealing
	  with assignment (:=) operator, concatenation (::) operator and
	  internally generated CASE expressions.

	  This fix was aimed to bug 469, bug bug 471 was also fixed.

2007-05-28 15:18 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* TEST SCRIPT UPDATE

	  I added a script to run the test and descrised the width of
	  words in the example by 1 bit (to run NuSMV quicker).

2007-05-28 14:23 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* TEST SCRIPT UPDATE

	  A new test is added to the script testing word operations: now
	  NuSMV outputs flattened and boolean models and then read them
	  back.

2007-05-25 17:49 Andrei Tchaltsev <tchaltsev@fbk.eu>

	* NEW TEST FILES

	  Files to test booleanization of word expression are added.
	  Currently division, mod, << and >> cause problems.

2007-05-23 09:36 Marco Bozzano <mbozzano@fbk.eu>

	* Infrastructure for preferred variable mechanism (minisat).

	  Added new primitives: SatSolver_set_preferred_variables
	  SatSolver_clear_preferred_variables

	  In SIM and ZChaff, they don't do anything.  In Minisat, they
	  call the (forthcoming) underlying primitives (calls are
	  disabled, at the moment).

	  Added a primitive in sbmcUtils.c, to get the underlying solver,
	  given an sbmc solver.

	  Modified sa package to call the new preferred variables routines
	  (a few tests OK with Minisat_1.14 modified; to be thoroughly
	  tested).

2007-05-23 08:57 Marco Roveri <roveri@fbk.eu>

	* First attempt of code for forcing a BDD order.

	  Compiles but not yet checked. Top level interaction not yet
	  developed.

2007-05-23 08:55 Marco Roveri <roveri@fbk.eu>

	* Extended interfaces to

	  - get the layer a variable is defined in - check wether a
	  variable is defined in a give layer

2007-05-22 11:37 Roberto Cavada <cavada@fbk.eu>

	* DOCS - Cosmetics in ChangeLog - Rough version of NEWS

	  ** MR please check NEWS to finalize version before branching
	  release **

2007-05-21 07:26 Marco Roveri <roveri@fbk.eu>

	* Added command completion functionalities to the interactive
	  shell when readline library is linked.

	  Thanks to Tivadar Szemethy <tivadar.szemethy@vanderbilt.edu> who
	  contributed the code for this feature.


2007-05-21  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.4.3 ===

2007-05-21 10:55  Marco Roveri <roveri@itc.it>

	* src/: ltl/ltl.c, mc/mcMc.c: Added printing of warning message if
	  the the set of fair states is empty.

2007-05-21 09:33  Marco Roveri <roveri@itc.it>

	* src/parser/ord/ord_input.l: Allowed quoted atoms to be read in
	  the ordering file.

2007-05-21 09:31  Marco Roveri <roveri@itc.it>

	* src/compile/type_checking/checkers/CheckerCore.c: Fix for
	  bug #466 (type checker error printer was not taking into
	  account unary minus).

2007-05-21 09:29  Marco Roveri <roveri@itc.it>

	* src/bmc/sbmc/sbmcTableauIncLTLformula.c: Fix for bug #464
	  (problem with past temporal depth). Thanks to Tommi Junttila for
	  providing the patch.

2007-05-21 09:26  Marco Roveri <roveri@itc.it>

	* src/cmd/: cmdFile.c, cmdMisc.c: Added command completion
	  functionalities to the interactive shell when readline library
	  is linked. Thanks to Tivadar Szemethy <tivadar.szemethy AT
	  vanderbilt.edu> who contributed the code for this feature.


2007-05-17 13:46  Roberto Cavada <cavada@itc.it>

	* src/trace/TraceManager.c BUG FIX TraceManager could possibly
	  cause segfault when destrying itself. This resolves an hack that
	  was applied by MR.

2007-05-17 11:23  Roberto Cavada <cavada@itc.it>

	* src/parser/grammar.y: BUG FIX #457 Real, exponential and
	  fractional constants are no longer allowed to be parsed when
	  mathsat is disabled.

2007-05-16 17:27  Marco Roveri <roveri@itc.it>

	* src/compile/compileCmd.c: BUG FIX Added a call to PropDb_clean()
	  to flatten_hierarchy command to deal with the case of attempting
	  to add a property that has problems. Before, in the database,
	  after the removal of original problem in the input file, and
	  flattening there were some properties duplicated.

2007-05-16 17:25  Marco Roveri <roveri@itc.it>

	* src/prop/: prop.h, propDb.c: - Added a message to report type
	  error for a property that violates type error. Before nothing
	  was reported, and it was difficult to understand where the
	  problem was.

2007-05-16 17:23  Marco Roveri <roveri@itc.it>

	* src/compile/type_checking/checkers/CheckerCore.c: BUG FIX Type
	  checker now support self at top level and return type error.

2007-05-16 17:14  Roberto Cavada <cavada@itc.it>

	* src/: bmc/sbmc/sbmcStructs.c, compile/compileCone.c,
	  compile/compileFlatten.c, compile/symb_table/symb_table.c,
	  enc/bdd/BddEnc.c, mathsat/mathsatMemories.c, rbc/ConjSet.c,
	  sa/saDCOI.c, utils/WordNumber.c: BUG FIX #437 Fixed memory
	  leaks.

2007-05-16 16:21  Roberto Cavada <cavada@itc.it>

	* src/: bmc/sbmc/sbmcBmcInc.c, bmc/sbmc/sbmcStructs.c,
	  bmc/sbmc/sbmcStructs.h, sa/saSbmc.c: BUG FIX #438 Structure is
	  now freed, but content cannot be freed because: - content can be
	  changed by calling setters - setters was not documented about
	  ownership of content.

2007-05-16 15:42  Roberto Cavada <cavada@itc.it>

	* src/compile/compileFlatten.c: BUG FIX #456 Fixed evaluation of
	  "self" inside Compile_resolve_name

2007-05-15 17:22  Marco Roveri <roveri@itc.it>

	* src/ltl/ltlRewrite.c, src/ltl/ltl2smv/ltl2smv.c,
	  test/bug_455/bug3.smv, test/bug_455/test.sh: CRITICAL BUG FIX
	  Fixes for bug 451 and 455.

2007-05-15 16:24  Marco Roveri <roveri@itc.it>

	* src/compile/compileUtil.c: Fix for bug 458.
	  AF p | AF q cannot in general be rewritten as AF (p | q)

2007-05-15 16:21  Roberto Cavada <cavada@itc.it>

	* doc/user-man/syntax.tex, src/parser/grammar.y: BUG FIX #457 *
	  Cegar-related tokens are allowed to be parsed only when mathsat
	  was	enabled at configure time.  * Added CEGAR tokens to the
	  list of documented reserved words

2007-05-09 17:43  Roberto Cavada <cavada@itc.it>

	* src/: compile/PredicateNormaliser.c,
	  compile/PredicateNormaliser.h, fsm/sexp/SexpFsm.c,
	  mathsat/mathsatWriteMathSAT.c, mbp/fsm/GameSexpFsm.c: FEATURE
	  Relaxed semantics of function
	  PredicateNormaliser_normalise_constrain.  It is no longer
	  required the given expression is a top-level expression like a
	  constrain. Renamed the function to PredicateNormaliser_normalise_expr.

2007-05-09 17:12  Roberto Cavada <cavada@itc.it>

	* src/enc/bdd/BddEnc.c: CRITICAL BUG FIX Too strict assertions
	  prevented the system to allocate more than 4096 BDD variables.
	  ** This should be consisdered a ctitical bug fix **

2007-05-09 16:25  Roberto Cavada <cavada@itc.it>

	* src/compile/PredicateNormaliser.c: BUG FIX PredicateNormalizer
	  was not handling UMINUS nodes

2007-05-09 16:25  Roberto Cavada <cavada@itc.it>

	* src/node/nodePrint.c: BUG FIX print_sexp was not handling UMINUS


2007-05-09 15:13  Roberto Cavada <cavada@itc.it>

	* src/parser/: parserUtil.c FEATURE Added new function
	  Parser_ReadCmdFromFile

2007-05-08 18:22  Roberto Cavada <cavada@itc.it>

	* src/compile/PredicateNormaliser.c: BUG FIX Fixed
	  PredicateNormalizer to push down bool cast when CASE node are
	  inside its operand.

2007-05-08 18:21  Roberto Cavada <cavada@itc.it>

	* src/enc/be/BeEnc.c: BUG FIX Fixed a bug in BeEnc. The bug was
	  never occurring because affected function was not called.
	  Thanks to AT for finding it.

2007-05-08 13:19  Roberto Cavada <cavada@itc.it>

	* src/utils/: utils.c, utils.h: FEATURE Added new function int
	  Utils_strcasecmp ARGS((const char* s1, const char* s2))
	  to compare two strings case insensitive.

2007-05-06 18:10  Marco Roveri <roveri@itc.it>

	* src/enc/: bdd/BddEnc.c, bool/BoolEnc.c: Added two cases to avoid
	  encoding into BDD of Integer and Real variables.

2007-05-04 16:38  Andrei Tchaltsev <tchaltsev@itc.it>

	* src/sa/plugins/: TraceVIS.c, TraceVIS_private.h: RENAMING I
	  renamed "vars_list" to "symb_list" because those were lists of
	  symbols, not variables. This difference may be important with an
	  introduction of frozen variables.

2007-05-03 18:21  Roberto Cavada <cavada@itc.it>

	* src/enc/bdd/BddEnc.c: BUG FIX Fixed a bug in method
	  BddEnc_get_layer_vars_cube.

2007-05-03 17:49  Roberto Cavada <cavada@itc.it>

	* src/: compile/compile.h, enc/bdd/BddEnc.c, enc/bdd/BddEnc.h,
	  ltl/ltl.c, mbp/mbpBuildModel.c, mbp/mbpCheckReachAvoidSpec.c:
	  METHOD RENAME Renamed method BddEnc_produce_vars_cube to
	  BddEnc_get_layer_vars_cube.  The method gets also a new parameter
	  to 'filter' symbols type that should occur into the returned cube
	  (VarFilterType).

2007-05-03 17:47  Roberto Cavada <cavada@itc.it>

	* src/fsm/: FsmBuilder.c, FsmBuilder.h: NEW FUNCTION Added function
	  FsmBuilder_clusterize_expr

2007-04-18 16:40  Roberto Cavada <cavada@itc.it>

	* test/bug_456/: bug0.smv, test.sh: NEW TEST For bug #456

2007-04-18 16:35  Roberto Cavada <cavada@itc.it>

	* test/bug_455/: bug1.smv, bug2.smv, ltl2smv.c, ltlRewrite.c,
	  test.sh: NEW TESTS - Added 2 more tests - Added patches proposed
	  by MR

2007-04-18 16:29  Roberto Cavada <cavada@itc.it>

	* test/bug_455/: bug0.smv, test.sh: TEST Added test for bug #455

2007-04-18 16:13  Roberto Cavada <cavada@itc.it>

	* src/utils/: NodeList.c, NodeList.h: NEW FUNCTION Added method
	  concat_unique to NodeList

2007-04-13 11:38  Roberto Cavada <cavada@itc.it>

	* src/trace/TraceManager.c: BUG FIX TraceManager did not take into
	  account of layers that had been previously unregistered.



2007-04-06  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.4.2 ===


2007-04-05 19:45  Roberto Cavada <cavada@fbk.eu>

	* src/trace/plugins: TraceExplainer.c, TraceTable.c,
	TraceXmlDumper.c: BUG FIX WORDS were not correctly handled by most
	of trace printers.  Thanks to Vincent Gourcuff <vincent.gourcuff
	AT lurpa ens-cachan fr> for reporting the bug.

2007-04-05 17:42  Roberto Cavada <cavada@fbk.eu>

	* src/ltl/: ltlRewrite.c: BUG FIX LTL2SMV is prevented from trying
	solving problems whose formule contains input variables that are
	WORDS. An error message warns the user about the currently
	unsupported feature.

2007-03-29 09:40  Roberto Cavada <cavada@fbk.eu>

	* doc/user-man/: batch.tex, inter.tex, main.bib: DOCS Documented
	  rbc and sexp inlining


2007-03-28 16:31  Roberto Cavada <cavada@fbk.eu>

	* src/sm/smMain.c: FEATURE Changed arguments of command line
	  options -sin and -rin from 0|1 to off|on.

	  This allows for different future values like 'auto'


2007-03-28 15:49  Roberto Cavada <cavada@fbk.eu>

	* Makefile.am, configure.ac, nusmv-2.2.pc.in, nusmv-2.4.pc.in: FILE
	  RENAMING nusmv-2.4.pc.in substitutes old nusmv-2.2.pc.in


2007-03-28 15:48  Roberto Cavada <cavada@fbk.eu>

	* src/: compile/compileBEval.c, compile/compileFlatten.c,
	  ltl/ltl2smv/ltl2smv.c: BUG FIX, CLEANUP

	  - Similarly to what we did for CheckerCore.c, we removed a too
	  strong assertion about CASE nodes: right side was expected to be
	   either a CASE or a FAILURE, but there are internally built CASE
	   nodes that contains other kind of else nodes.

	  - Cleanups in src/compile


2007-03-28 13:25  Roberto Cavada <cavada@fbk.eu>

	* src/compile/type_checking/checkers/CheckerCore.c: BUG FIX Removed
	  a too strong assertion about CASE nodes: right side was expected
	  to be either a CASE or a FAILURE, but there are internally built
	  CASE nodes that contains other kind of else nodes.


2007-03-27 16:18  Roberto Cavada <cavada@fbk.eu>

	* src/utils/defs.h: FEATURE Modify definition of boolean to rely on
	  stdbool.h if found by configure


2007-03-27 14:38  Roberto Cavada <cavada@fbk.eu>

	* README, README_PLATFORMS: DOCS Added notes to compile nusmv at 64
	  bits


2007-03-27 14:28  Roberto Cavada <cavada@fbk.eu>

	* src/fsm/sexp/SexpFsm.c: DOCS Minor modification to a comment
	  (related to inlining)


2007-03-27 14:25  Roberto Cavada <cavada@fbk.eu>

	* src/: be/beRbcManager.c, rbc/ConjSet.c, rbc/ConjSet.h,
	  rbc/InlineResult.c, rbc/rbcInline.c: DOCS Commented code for
	  classes ConjSet, ConjElem, InlineResult and top level fcuntions
	  for rbc inlining


2007-03-27 11:50  Roberto Cavada <cavada@fbk.eu>

	* src/: be/bePkg.c, bmc/bmcConv.c, compile/compileBEval.c,
	  enc/operators.c, enc/bdd/BddEnc.c, enc/be/BeEnc.c,
	  enc/bool/BoolEnc.c, fsm/sexp/SexpFsm.c, parser/psl/pslNode.c,
	  rbc/ConjSet.h, rbc/InlineResult.c, rbc/rbc.h: CLEANUP Fixed most
	  of compilation warnings (missing inclusions/declarations, unused
	  vars, etc.)


2007-03-27 10:37  Roberto Cavada <cavada@fbk.eu>

	* src/: fsm/sexp/SexpFsm.c, opt/optCmd.c, opt/optInt.h,
	  sm/smMain.c: FEATURES - Renamed symb_inlining to sexp_inlining as
	  requested by MR - Hidden option rbc_inlining_lazy (default is 0,
	  setting is prevented) - Added new command line options [-sin 0|1]
	  and [-rin 0|1] to control   system vars sexp_inlining and
	  rbc_inlining - Fixed verbosity of sexp inlining


2007-03-27 09:36  Roberto Cavada <cavada@fbk.eu>

	* configure.ac: BUG FIX Fixed a typo $zchafflibdir -> $zchaffincdir
	  Thanks to Mark Tuttle <mark.r.tuttle@intel.com> for reporting the
	  typo.


2007-03-27 09:34  Roberto Cavada <cavada@fbk.eu>

	* src/utils/Makefile.am: BUG FIX defs.h was not distributed.


2007-03-26 19:27  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileCheck.c: BUG FIX #146 To be checked


2007-03-26 15:38  Roberto Cavada <cavada@fbk.eu>

	* test/bug_146/: bug11.smv, bug12.smv, test.sh: NEW TEST For bug
	  #146 (recursively defined symbols are not detected)


2007-03-26 00:04  Marco Roveri <roveri@fbk.eu>

	* test/bug_451/bug1.smv, test/bug_451/bug2.smv,
	  test/bug_451/bug3.smv, test/bug_451/test.sh,
	  src/compile/type_checking/checkers/CheckerCore.c: Fix for bug
	  #451.

	  - Please note that we moved the position where FAILURE is handled
	  in   cuddAddOp.c. Now they are handled after the base cases.
	  E.g. false & FAILURE -> false

	  - In the compile/type_checking/checkers/CheckerCore.c stand alone
	    FAILURE node is assigned type boolean, to let it pass the type
	   checking.

	  - In ltl/ltl2smv/ltl2smv.c a case node is curretly expanded into
	  (C &	 T) | (!C & E). This fix was needed because when there are
	  inputs in   some defined symbol occurring in an LTL formula, the
	  ltl formula is   flattened, defines are expanded and the
	  resulting LTL formula is   rewritten by removing input variables
	  and replacing them with an   additional variable which keep track
	  of the value of the input   variable. The input variable is
	  replaced with the X (i.e. temporal   operator) of the new
	  variable.


2007-03-23 17:25  Roberto Cavada <cavada@fbk.eu>

	* Makefile.am, src/dd/dd.c: CLEANUP Removed any compile-time
	  dependencies of CUDD wrt nusmv.  Dependencies are still there
	  (print_node, node_is_failure, etc.) but now are resolved at
	  linking time when nusmv is built.

	  Nusmv files are no more imported by cudd.  This affects both cudd
	  versions 2.3 and 2.4


2007-03-23 17:23  Roberto Cavada <cavada@fbk.eu>

	* src/node/: node.c, node.h: NEW FUNCTION Added function
	  'node_is_failure'


2007-03-23 16:02  Roberto Cavada <cavada@fbk.eu>

	* src/bmc/sbmc/sbmcUtils.c: BUG FIX Fixed a wrong condition into an
	  assertion


2007-03-23 11:12  Marco Roveri <roveri@fbk.eu>

	* src/ltl/ltl2smv/ltl2smv.c: Partially fix of bug #451.

	  The case is expanded into an equivalent formula.

	  Is partially fixed since now the type checker complains with
	  possible FAILURE nodes coming from CASEs, and then handling of
	  FAILURE in the base cases of AND/OR/XOR add operations.


2007-03-22 14:15  Roberto Cavada <cavada@fbk.eu>

	* src/parser/psl/psl_grammar.y: BUG FIX #450 Made affected PSL
	  operators left associative like in nusmv core grammar.


2007-03-22 11:55  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileBEval.c: BUG FIX #452 The booleanizer cache
	  did not take into account of contexts of booleanized formulae.

	  Thanks to Vesa Ojala, Jori Dubrovin and Tommi Junttila for
	  reporting the bug.


2007-03-22 11:53  Roberto Cavada <cavada@fbk.eu>

	* test/: bug_451/test.sh, bug_452/test.sh: BUG FIX Tests were not
	  working well.


2007-03-22 11:41  Roberto Cavada <cavada@fbk.eu>

	* test/bug_452/: bug0.smv, bug1.smv, test.sh: NEW TEST For bug #451


2007-03-22 10:13  Roberto Cavada <cavada@fbk.eu>

	* src/ltl/ltlRewrite.c: BUG FIX A first step to fix #451 (still
	  open)


2007-03-21 17:04  Roberto Cavada <cavada@fbk.eu>

	* src/: sat/solvers/SatSim.c, sim/simData.c: BUG FIX Fixed a
	  setting of Sim that made the solver possibly produce wrong
	  results.


2007-03-21 16:21  Andrei Tchaltsev <tchaltsev@fbk.eu>

	* test/bug_451/: bug.smv, correct.smv, test.sh: [NEW BUG TEST]
	  Added a test for bug #451


2007-03-20 20:30  Roberto Cavada <cavada@fbk.eu>

	* src/: bmc/bmcSatTrace.c, bmc/sbmc/sbmcUtils.c,
	  compile/PredicateNormaliser.c, compile/compileBEval.c,
	  compile/compileCheck.c, compile/compileFlatten.c,
	  compile/symb_table/SymbCache.c, compile/symb_table/symb_table.c,
	  compile/type_checking/TypeChecker.c,
	  compile/type_checking/checkers/CheckerCore.c, dd/dd.c,
	  enc/operators.c, enc/bdd/BddEnc.c, enc/bdd/BddEncCache.c,
	  enc/be/BeEnc.c, enc/bool/BoolEnc.c, enc/utils/AddArray.c,
	  enc/utils/OrdGroups.c, fsm/sexp/SexpFsm.c, mc/mcEval.c,
	  node/node.h, node/nodePrint.c, node/printers/PrinterWffCore.c,
	  parser/grammar.y, parser/input.l, parser/idlist/ParserIdList.c,
	  parser/ord/ParserOrd.c, parser/ord/ord_grammar.y,
	  parser/psl/pslNode.c, parser/psl/pslNode.h, rbc/rbcCnf.c,
	  rbc/rbcCnfCompact.c, rbc/rbcCnfSimple.c, rbc/rbcFormula.c,
	  rbc/rbcOutput.c, rbc/rbcSubst.c, sat/solvers/SatMinisat.c,
	  sat/solvers/SatSim.c, sat/solvers/SatZchaff.c, sim/simInt.h,
	  trace/TraceLabel.c, trace/plugins/TraceXmlDumper.c,
	  utils/NodeList.c, utils/WordNumber.c, utils/defs.h,
	  utils/error.c, utils/utils.h: BUG FIX, CLEANUP, NEW HEADER *
	  Added header utils/defs.h with basic defines moved away from
	  utils.h * Cleaned up all casts of pointers to/from integers *
	  Fixed a bug in Sim

	  WARNING: It seems that SIM is still afflicted by a bug, that I'm
	  investigating.

	  NOTE: From here on, every time you need to convert a pointer
	  to/from an integer, use macros defined into defs.h:

	    PTR_TO_INT(ptr)
	    PTR_FROM_INT(ptr_type, int_val)

	  For node_ptr, special macros are provided (by node.h)
	  NODE_TO_INT(node_ptr)   NODE_FROM_INT(int_val)

	  File containing code rules is going to be updated accordingly.


2007-03-20 15:10  Roberto Cavada <cavada@fbk.eu>

	* src/rbc/ConjSet.c: BUG FIX Fixed a bug in the ConjSet scheduling
	  that made possible for the routine to enter an infinite recursive
	  call.  Thanks to MR for reporting the bug.


2007-03-20 11:24  Roberto Cavada <cavada@fbk.eu>

	* src/: be/bePkg.c, bmc/bmcConv.c, bmc/sbmc/sbmcHash.c,
	  compile/compileBEval.c, dag/dagVertex.c, enc/be/BeEnc.c,
	  rbc/rbcOutput.c, sat/solvers/SatSim.c, set/setSet.c: BUG FIX This
	  should make bmc working at 64 bit.


2007-03-16 16:07  Roberto Cavada <cavada@fbk.eu>

	* Makefile.am: BUG FIX Fixed to distribute all available patches
	  for solvers.


2007-03-16 15:32  Roberto Cavada <cavada@fbk.eu>

	* Makefile.am, configure.ac, src/sat/solvers/Makefile.am: FEATURES
	  * Unified building tools for solvers * Integrated new version of
	  zchaff

	  * WARNING: you will need to reconfigure nusmv *


2007-03-16 13:07  Marco Roveri <roveri@fbk.eu>

	* src/enc/bdd/: BddEnc.c, BddEnc_private.h: Added warning for the
	  feedback of the review of the code.


2007-03-16 11:00  Marco Roveri <roveri@fbk.eu>

	* src/enc/operators.c: added warning with the notes for code
	  revision


2007-03-15 17:29  Roberto Cavada <cavada@fbk.eu>

	* configure.ac: FEATURE Added support to minisat2

	  Still to be tested (at all at 64 bits)

	  WARNING: 1. you must autoreconf

	  2. you can stay with older version of minisat by copying and
	  modifying    ../Minisat/minisat-default.in to
	  ../Minisat/minisat-default that    is now out of CVS


2007-03-15 14:47  Roberto Cavada <cavada@fbk.eu>

	* src/: be/beCnf.c, be/beRbcManager.c, bmc/bmcDump.c, bmc/bmcGen.c,
	  bmc/bmcSatTrace.c, bmc/sbmc/sbmcUtils.c, dag/dag.h, dag/dagDfs.c,
	  dag/dagEn.c, dag/dagEnStat.c, dag/dagInt.h, dag/dagVertex.c,
	  fsm/sexp/SexpFsm.c, node/node.c, rbc/ConjSet.c,
	  rbc/InlineResult.c, rbc/rbcCnfCompact.c, rbc/rbcCnfSimple.c,
	  rbc/rbcFormula.c, rbc/rbcInt.h, rbc/rbcOutput.c, rbc/rbcSubst.c,
	  rbc/rbcUtils.c, sat/SatSolver.c, sat/SatSolver.h,
	  sat/solvers/SatMinisat.c, sat/solvers/SatSim.c,
	  sat/solvers/SatZchaff.c, utils/utils.h: PORTING Ported BMC to 64
	  bits

	  ** This code is alpha **


2007-03-14 11:31  Roberto Cavada <cavada@fbk.eu>

	* configure.ac, src/enc/bdd/BddEnc.c, src/enc/bdd/BddEnc_private.h:
	  BUG FIX, PORTABILITY * Cudd 2.4 works now at 64 bits.  * Made
	  statically allocated arrays dynamic in BddEnc.


2007-03-13 23:31  Marco Roveri <roveri@fbk.eu>

	* contrib/order_bits.pl: revised to fix a problem


2007-03-08 17:42  Roberto Cavada <cavada@fbk.eu>

	* configure.ac: PORTING Porting to cudd-2.4.1.0

	  IMPORTANT: run 'autoreconf' after updating

	  There is still a pending issue about minimal groups size in
	  BddEnc to be investigated.

	  ** WARNING READ THIS ** nusmv will not link to cudd-2.4.1.0 by
	  default (you will have to update directory "NuSMV2/cudd-2.4.1.0"
	  before trying)

	  As far as I know cudd-2.4.1.0 has never been systematically
	  tested with nusmv, so proceed at your own risk if you are working
	  with this development version of nusmv.

	  Should you want to stay with old good version of CUDDs, specify
	  "cuddname=cudd-2.3.0.1" when configuring nusmv or launching any
	  builder.  ** END OF WARNING **


2007-03-08 13:49  Roberto Cavada <cavada@fbk.eu>

	* src/: be/be.h, be/beRbcManager.c, bmc/bmcBmcInc.c,
	  bmc/bmcBmcNonInc.c, bmc/bmcGen.c, bmc/bmcUtils.c, bmc/bmcUtils.h,
	  bmc/sbmc/sbmcBmc.c, bmc/sbmc/sbmcBmcInc.c, bmc/sbmc/sbmcGen.c,
	  bmc/sbmc/sbmcUtils.c, opt/opt.h, opt/optCmd.c, opt/optInt.h,
	  rbc/ConjSet.c, rbc/ConjSet.h, rbc/InlineResult.c,
	  rbc/InlineResult.h, rbc/rbc.h, rbc/rbcInline.c, sa/saBmc.c:
	  FEATURE Api for inlining. rbc_inlining_lazy is still to be fixed.


2007-03-01 11:06  Roberto Cavada <cavada@fbk.eu>

	* src/fsm/sexp/SexpFsm.c: PERFORMANCES Optimized performances of
	  scalar inlining. Substitution is performed in one single step for
	  all variables. Scheduling and substitution matrix is created once
	  for all susbtitutions.

	  ** This feature needs to be benchmarked, in order to decide the
	  default    settings **

	  There is also some debugging verbosity still enabled, will be
	  removed.


2007-03-01 09:20  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileBEval.c, src/enc/operators.h,
	  src/enc/operators.c, test/bug_446/bug0.smv: BUG FIX #446 CASE
	  nodes are now booleanized as WORD encogings (instead of pushing
	  up cases). This result in a more readable boolean model, holds
	  locality and requires one single circuit is built. Encoding
	  complexity is the same, N*C where N is the word witdh, and C is
	  the number of cases.

	  ** This fix is expected to FIX bug 446 **


2007-03-01 09:16  Roberto Cavada <cavada@fbk.eu>

	* src/compile/PredicateNormaliser.c: FEATURE Unions are handled by
	  normalising each element of the set.


2007-02-27 18:27  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileBEval.c: BUG FIX Added a missing case to the
	  booleanizer


2007-02-27 14:18  Roberto Cavada <cavada@fbk.eu>

	* src/: bmc/bmcConv.c, compile/compileBEval.c: BUG FIX Fixed
	  booleanization of WORDS when some node into a WORD type
	  expression is a CASE node


2007-02-27 14:16  Roberto Cavada <cavada@fbk.eu>

	* src/bmc/: bmcBmcInc.c, bmcGen.c, sbmc/sbmcGen.c: SETTINGS Enabled
	  inlining of bmc (inc/non inc) and smbc non inc Still needs a
	  refactoring of inlining calls.


2007-02-27 14:15  Roberto Cavada <cavada@fbk.eu>

	* src/fsm/sexp/Expr.c: FEATURE Made Expr_{and,or} lazy when left ==
	  right


2007-02-27 14:14  Roberto Cavada <cavada@fbk.eu>

	* src/compile/PredicateNormaliser.c: BUG FIX

	  Fixed a bug in PredicateNormaliser, that made nusmv segfault when
	  processing CONTEXT nodes.


2007-02-27 14:12  Roberto Cavada <cavada@fbk.eu>

	* src/rbc/: rbcInline.c, rbcInt.h: COSMETICS Fixed some verbosity
	  during inlining.


2007-02-27 07:09  Marco Roveri <roveri@fbk.eu>

	* contrib/: Makefile.am, order_bits.pl: Script for interleaving
	  bits


2007-02-16 16:53  Roberto Cavada <cavada@fbk.eu>

	* src/enc/be/BeEnc.c: BUG FIX Removed a line that was no longer
	  supposed to exist, after latest commitment on this file
	  (optimization of cache clean up) Please [MB} check it again (thank
	  him for reporting it)


2007-02-16 16:26  Roberto Cavada <cavada@fbk.eu>

	* src/fsm/sexp/SexpFsm.c: TUNING Disable scalar inlining. It seems
	  that the current implementation is too slow, and make building
	  time worse than original.


2007-02-16 16:22  Roberto Cavada <cavada@fbk.eu>

	* src/rbc/InlineResult.c: BUG FIX Variables are kept during ConjSet
	  retrieving, instead of being replaced.  They will be substituted
	  later.


2007-02-16 16:14  Marco Bozzano <bozzano@fbk.eu>

	* src/: bmc/sbmc/sbmcBmcInc.c : Fixed typo.  Some
	  constraints were added twice.  Checked with [TJ].


2007-02-15 11:11  Roberto Cavada <cavada@fbk.eu>

	* src/: be/be.h, be/bePkg.c, be/beRbcManager.c, bmc/bmcGen.c,
	  rbc/ConjSet.c, rbc/ConjSet.h,
	  rbc/InlineResult.c, rbc/InlineResult.h, rbc/Makefile.am,
	  rbc/rbc.h, rbc/rbcFormula.c, rbc/rbcInline.c, rbc/rbcInt.h,
	  rbc/rbcSubst.c, rbc/rbcUtils.c: NEW FEATURE Added support for RBC
	  inlining.

	  WARNING: Inlining is currently disabled, as BMC and SBMC
	  algorithms still need to be changed accordingly. Also,
	  benchmarking is still running on non-inc BMC and SBMC.


2007-02-15 11:05  Roberto Cavada <cavada@fbk.eu>

	* src/trace/plugins/TraceXml_private.h: BUG FIX Fixed portability
	  issue


2007-02-13 16:01  Marco Roveri <roveri@fbk.eu>

	* todo/features: added few missing entries


2007-02-13 12:26  Marco Bozzano <bozzano@itc.it>

	* src/bmc/sbmc/: sbmcUtils.c, sbmcUtils.h: Added some new
	  primitives in the interface, useful for SA.


2007-02-08 14:11  Marco Roveri <roveri@fbk.eu>

	* src/dd/dd.h: Added missing inclusion.


2007-01-30 18:46  Roberto Cavada <cavada@fbk.eu>

	* src/rbc/clg/: clg.h, clgClg.c, clgInt.h: NEW PACKAGE clg is
	  required by new CNF-izator


2007-01-30 16:46  Roberto Cavada <cavada@fbk.eu>

	* src/: be/be.h, be/beManager.c, be/beRbcManager.c,
	  bmc/bmcBmcInc.c, bmc/bmcBmcNonInc.c, bmc/sbmc/sbmcBmc.c,
	  bmc/sbmc/sbmcUtils.c, rbc/Makefile.am, rbc/rbc.h, rbc/rbcCnf.c,
	  rbc/rbcCnfCompact.c, rbc/rbcCnfSimple.c, rbc/rbcFormula.c,
	  rbc/rbcInt.h, rbc/rbcManager.c, rbc/rbcOutput.c, rbc/rbcStat.c,
	  rbc/rbcSubst.c, sa/saCore.c: FEATURE Integrated a new CNF-izator
	  provided by Sheridan, Keighren (and Junttila?)

	  ! ! ! W A R N I N G ! ! !

	  1. The new CNF is enabled by default and needs to be checked, but
	     first experiments are very well promising!

	     To set old CNF type uncomment line rbc/rbcCnf.c:59
	     //#define CONV_SIMP 1

	     .. and recompile.

	  2. SA People: check warning tagged like "RC: " into saCore
	  module.


2007-01-30 13:53  Andrei Tchaltsev <tchaltsev@fbk.eu>

	* src/compile/compileCone.c: BUG FIX
	  Dependency computation could not deal with COLON expressions.


2007-01-30 13:05  Andrei Tchaltsev <tchaltsev@fbk.eu>

	* src/compile/compileCone.c: BUG FIX
	  Dependency computation could not deal with WORD variables.


2007-01-24 17:33  Roberto Cavada <cavada@fbk.eu>

	* src/fsm/sexp/SexpFsm.c: BUG FIX Fixed expansion of defines during
	  inlining.


2007-01-23 17:21  Roberto Cavada <cavada@fbk.eu>

	* src/: bmc/bmcConv.c, bmc/bmcConv.h, compile/compile.h,
	  compile/compileBEval.c, enc/bdd/BddEnc.c, enc/bdd/BddEncCache.c,
	  enc/bdd/BddEncCache.h, enc/be/BeEnc.c, enc/bool/BoolEnc.c:
	  PERFORMANCES

	  A first attempt to improve general performances of cleaning up of
	  caches (namely boolenizer, Bdd evaluator and BMC converter).

	  The fix resulted in a more dirty design, but should reduce time
	  required by cleanups.

	  TO BE TESTED


2007-01-23 16:41  Roberto Cavada <cavada@fbk.eu>

	* src/: bmc/bmcCmd.c, bmc/bmcConv.c, compile/compile.h,
	  compile/compileCheck.c, compile/compileCmd.c,
	  enc/bdd/BddEncCache.c, fsm/FsmBuilder.c, fsm/FsmBuilder.h,
	  fsm/sexp/SexpFsm.c, fsm/sexp/SexpFsm.h, ltl/ltl.c,
	  prop/propProp.c: PERFORMANCE Added inlining capability to the
	  SexpFsm.  When creating a SexpFsm, an additional layer can be
	  optionally passed to force inlining of the model.

	  This feature is still alpha and may require fixing, tuning and
	  optimizations.


2007-01-23 16:38  Roberto Cavada <cavada@fbk.eu>

	* src/parser/psl/pslNode.c: BUG FIX Flattener was possibly called
	  during parsing, that resulted in a segfault.


2007-01-23 16:36  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileBEval.c: OPTIMIZATION Booleanization of (a !=
	  b)  (where a and b are not words) is rewritten as
	  !(booleanization of (a=b)) that produces better encoding.  Thanks
	  to MR for providing the idea.


2007-01-16 10:07  Marco Roveri <roveri@fbk.eu>

	* todo/features: added one item


2007-01-15 16:43  Roberto Cavada <cavada@fbk.eu>

	* src/: bmc/bmcConv.c, bmc/bmcConv.h, compile/compile.h,
	  compile/compileBEval.c, compile/compileCone.c,
	  enc/bdd/BddEncCache.c, enc/be/BeEnc.c, enc/bool/BoolEnc.c: BUG
	  FIX Removal of layers does: 1. cleanup of BddEnc evaluation cache
	  2. cleanup of BddConv cache 3. cleanup of Booleanizer cache

	  Cleanups occur only for those entries that contain the language
	  that is being removed.

	  STILL TO BE TESTED


2007-01-15 16:40  Roberto Cavada <cavada@fbk.eu>

	* src/utils/: assoc.c, assoc.h: NEW FUNCTION Added function
	  assoc_get_keys that returns the list of inserted keys


2007-01-12 17:03  Roberto Cavada <cavada@fbk.eu>

	* src/enc/utils/AddArray.c: FEATURE Added W[n] x W[m] -> W[n] to
	  rotations.


2007-01-12 17:02  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileBEval.c: BUG FIX Fixed bit rotation for BMC


2007-01-12 16:15  Roberto Cavada <cavada@fbk.eu>

	* src/enc/: bdd/BddEnc.c, utils/AddArray.c, utils/AddArray.h:
	  FEATURE Changed shift operators to accept W[n] x W[m] -> W[n]


2007-01-12 16:14  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileBEval.c: MINOR COSMETICS Fixed indentation


2007-01-12 16:13  Roberto Cavada <cavada@fbk.eu>

	* src/dd/: dd.c, dd.h: BUG FIX

	  - Added checking for FAILURE nodes into CUDDs boolean operators.
	  - Removed unrequired dependency on symbols.h from CUDD - Modified
	  cudd init interface to declare FAILURE node value.


2007-01-11 16:03  Roberto Cavada <cavada@fbk.eu>

	* src/: compile/compileBEval.c,
	  compile/type_checking/checkers/CheckerCore.c, parser/grammar.y,
	  parser/input.l: FEATURE Implemented WORD Rotation As shifting,
	  operators can be W[n] x N -> W[n] or W[n] x W[m] -> W[n], right
	  argument <= n


2007-01-11 10:16  Roberto Cavada <cavada@fbk.eu>

	* src/compile/compileBEval.c: BUG FIX Word1 was not booleanize its
	  argument.


2007-01-11 09:25  Roberto Cavada <cavada@fbk.eu>

	* src/: compile/compileBEval.c, enc/operators.c, enc/operators.h:
	  FEATURE Implemented bool and word1 casts.


2007-01-10 19:27  Roberto Cavada <cavada@fbk.eu>

	* src/: compile/compileBEval.c, enc/operators.c, enc/operators.h:
	  CLEAN UP A first step of refactoring of new words encoding.


2007-01-10 18:35  Roberto Cavada <cavada@fbk.eu>

	* src/: bmc/bmcConv.c, compile/compileBEval.c,
	  compile/compileFlatten.c, enc/bdd/BddEnc.c, node/nodePrint.c: NEW
	  FEATURE

	  A new 'encoding' is provided for WORDS during booleanization.
	  Supported operation: all over WORDS, but ROTATEs (coming soon).

	  Alpha and not complete: requires some work in particular to make
	  ADD side fully working with a few new features provided for BMC.

	  Notice that the encoding is at the moment provided by the
	  boolenizer, instead of the BoolEnc class.


2007-01-10 18:31  Roberto Cavada <cavada@fbk.eu>

	* src/enc/bool/BoolEnc.c: OPTIMIZATION WORD nodes are encoding for
	  words. Now the word width is stored in the encoding as well.


2007-01-10 18:27  Roberto Cavada <cavada@fbk.eu>

	* src/dd/dd.h: TYPEDEF MOVING Moved definition of NPFNN to node
	  package.


2007-01-10 18:26  Roberto Cavada <cavada@fbk.eu>

	* src/compile/type_checking/checkers/CheckerCore.c: NEW TYPE RULE
	  Words are allowed on the right of shifting operators.

	  Added closures: >>,<<: W[n] x W[m] -> W[n]

	  Previously, only >>,<<: W[n] x N -> W[n] was allowed.

	  This allows for a full use of registries when performing
	  shifting, and make a great performances improvement in BMC when N
	  is a combinatory circuit in W.


2007-01-10 18:25  Roberto Cavada <cavada@fbk.eu>

	* src/enc/utils/: AddArray.c, AddArray.h: COSMETICS Renamed
	  'concatination' -> 'concatenation' at code and comment level.


2007-01-10 18:23  Roberto Cavada <cavada@fbk.eu>

	* src/utils/: error.c, error.h: NEW FUNCTION Added function
	  'warning_possible_div_by_zero' to print out the corresponding
	  warning when BMC is performed on div:WxW->W


2007-01-10 18:21  Roberto Cavada <cavada@fbk.eu>

	* src/node/: node.c, node.h: NEW FUNCTION Added function 'map2' to
	  traverse two lists in parallel.


2007-01-10 18:20  Roberto Cavada <cavada@fbk.eu>

	* doc/user-man/syntax.tex: DOCS Word shifting:

	  Added closures: >>,<<: W[n] x W[m] -> W[n]

	  Previously, only >>,<<: W[n] x N -> W[n] was allowed.

	  This allows for a full use of registries when performing
	  shifting, and make a great performances improvement in BMC when N
	  is a combinatory circuit in W.


2007-01-09 10:42  Viktor Schuppan <Viktor.Schuppan@gmx.de>

	* src/prop/propProp.c: fix leak.


2007-01-03 15:44  Viktor Schuppan <Viktor.Schuppan@gmx.de>

	* src/enc/bdd/BddEnc.c: Add warning to
	  BddEnc_ComputePrimeImplicants that some prime implicants are
	  generated due to encoding of variables with non-power-of-two
	  ranges rather than necessity of the function under consideration.


2007-01-03 14:37  Roberto Cavada <cavada@fbk.eu>

	* src/: compile/compile.h, compile/compileFlatten.c,
	  node/printers/PrinterPsl.c, parser/psl/pslConv.c,
	  parser/psl/pslExpr.c, parser/psl/pslExpr.h, parser/psl/pslNode.c,
	  parser/psl/pslNode.h, parser/psl/psl_grammar.y,
	  parser/psl/psl_input.l, parser/psl/psl_symbols.h: FEATURE Added
	  PSL 'forany' that is like 'forall' but instances are disjoined.
	  WARNING: requires fix to the grammar to make it compliant with
	  sugar-psl (see bug #444)


2007-01-03 14:33  Roberto Cavada <cavada@fbk.eu>

	* src/: dd/dd.c, dd/dd.h, enc/bdd/BddEnc.c, enc/utils/AddArray.c:
	  BUG FIX Changed usage of add_apply when possible.  Requires code
	  review.  Benchmarking is currently running.


2006-12-22 12:00  Roberto Cavada <cavada@fbk.eu>

	* src/mc/mcInvar.c: CLEANUP, DOCS - Removed unsed variable 'status'
	  - Added comment about returned value of a function

	  Thanks to <felix.rauch@nicta.com.au> for reporting the problem.


2006-12-18 10:10  Roberto Cavada <cavada@fbk.eu>

	* todo/: TODO-list.txt, features, priority: DOCS Reorganized the
	  TODO list. The list has been split into two parts: 1. features
	  (list of categorized features) 2. priority list


2006-12-14 16:53  Roberto Cavada <cavada@fbk.eu>

	* src/: bmc/bmcBmcNonInc.c, compile/type_checking/TypeChecker.c,
	  dd/dd.c, utils/range.c: BUG FIXES, CLEANUPS

	  Applied bug fixes and cleanups suggested by Felix Rauch Valenti
	  <frauch@cse.unsw.edu.au> (That we thanks)

	  They we are working on a research project in the area of static
	  analysis, i.e. finding problems (bugs) in C/C++ source code
	  automatically. Our research project is called "Goanna" and uses
	  NuSMV as its backend.

	  See <http://www.ertos.nicta.com.au/research/goanna/>


2006-12-14 12:35  Marco Roveri <roveri@fbk.eu>

	* todo/TODO-list.txt: still preliminar, only for backup.


2006-12-13 19:21  Viktor Schuppan <Viktor.Schuppan@gmx.de>

	* src/enc/bdd/BddEnc.c: fix leak (thx RC)


2006-12-13 19:03  Marco Roveri <roveri@fbk.eu>

	* toDoList.txt: moved to dir todo


2006-12-13 19:02  Marco Roveri <roveri@fbk.eu>

	* todo/TODO-list.txt: initial not prioritized version of the TODO
	  list


2006-12-13 13:13  Viktor Schuppan <Viktor.Schuppan@gmx.de>

	* src/enc/bdd/BddEnc.c: fix bug:
	  SymbTable_get_layers_state_input_symbols returns only the   list
	  of DEFINEs referring to both state and input variables. Hence,
	  need SymbTable_get_layers_[state|input]_symbols as well.


2006-12-07 11:56  Roberto Cavada <cavada@fbk.eu>

	* src/: node/node.c, utils/NodeList.c: BUG FIX - Fixed
	  NodeList_copy wrt [VS] reporting of misleading behaviour.  -
	  Documented NodeList methods.


2006-12-07 11:22  Roberto Cavada <cavada@fbk.eu>

	* src/compile/: FlatHierarchy.c, compileFlatten.c: BUG FIX
	  FlatHierarchy is now filled with vars list by the flattener


2006-12-07 11:21  Roberto Cavada <cavada@fbk.eu>

	* NEWS: DOCS NEWS that went into 2.4.1


2006-12-07 11:20  Roberto Cavada <cavada@fbk.eu>

	* NEWS: DOCS NEWS file that went into 2.4.1


2006-12-07 11:04  Viktor Schuppan <Viktor.Schuppan@gmx.de>

	* src/be/: be.h, beRbcManager.c: added functions to query and
	  negate the signs of cnf and be literals.


2006-12-07 10:38  Andrei Tchaltsev <tchaltsev@fbk.eu>

	* src/compile/FlatHierarchy.c: COMMENT CHANGE


2006-12-07 10:16  Marco Roveri <roveri@fbk.eu>

	* toDoList.txt: revised to do list.


2006-12-06 15:54  Viktor Schuppan <Viktor.Schuppan@gmx.de>

	* src/bmc/sbmc/sbmcBmcInc.c: fix memory leak


2006-12-06 14:07  Viktor Schuppan <Viktor.Schuppan@gmx.de>

	* src/compile/FlatHierarchy.c: fix memory leak


2006-12-05 17:24  Roberto Cavada <cavada@fbk.eu>

	* configure.ac, src/enc/bdd/BddEnc.c, src/opt/optCmd.c: CLEANUP
	  Removed all warnings, to prepare release 2.4.1


2006-12-05 16:57  Roberto Cavada <cavada@fbk.eu>

	* NEWS: DOCS Removed thanks to D. Jones, as his bug report has nott
	  been done through the official channels.


2006-12-05 16:23  Roberto Cavada <cavada@fbk.eu>

	* configure.ac: DOCS Set version 2.4.1


2006-12-05 15:50  Roberto Cavada <cavada@fbk.eu>

	* examples/: ctl-ltl/p-queue.smv, ctl-ltl/periodic.smv,
	  example_cmu/periodic.smv, example_irst/periodic.smv,
	  guidance/guidance.smv, p-queue/p-queue.smv, pci/pci.smv,
	  smv-dist/pci3p.smv: EXAMPLE FIXES

	  Fixed a row of wrong example that were no longer compilable
	  thanks to the type checker.

	  WARNING: Examples pci* do not compile because of a module
	  variable that shadow a module formal parameter.


2006-12-05 15:14  Roberto Cavada <cavada@fbk.eu>

	* src/: fsm/bdd/BddFsm.c, parser/idlist/ParserIdList_private.h,
	  parser/idlist/idlist_input.l, sm/smMisc.c, utils/error.h: CLEANUP
	  Fixed a few missing declarations.



2006-12-06 NuSMV team <nusmv@fbk.eu>
	* === Released version 2.4.1 ===

2006-12-01 11:46  Roberto Cavada

	* bmc/sbmc/sbmcUtils.c, sat/SatSolver.c: BUG FIX A list was
	  destroyed when it was not supposed to.  Thanks to [VS] (Viktor
	  Schuppan) for reporting the bug. Fixed also some prog doc.


2006-11-29 18:11  Roberto Cavada

	* examples/psl-samples/: dme2-16.smv, syncarb10.smv, syncarb5.smv:
	  EXAMPLE FIXes Fixed PSL examples wrt forall operator precedence.
	  "forall p & forall q" is intended by nusmv to be equivalent to
	  "forall (p & forall q)" and not "(forall p) & (forall q)" as the
	  examples were erroneously supposing.


2006-11-29 17:38  Roberto Cavada

	* configure.ac, doc/user-man/Makefile.am, src/dd/dd.c, src/dd/dd.h,
	  src/enc/base/BaseEnc.c, src/enc/base/BoolEncClient.c,
	  src/enc/bdd/BddEnc.c, src/enc/bool/BoolEnc.c,
	  src/scripts/code_gens/templates.py: COSMETICS, FUNCTION RENAMING
	  * Renamed funcion dd_get_var_from_level to
	  "dd_get_index_from_level" * Integrated feedback from MR


2006-11-29 14:45  Roberto Cavada

	* src/enc/bdd/BddEnc.c: BUG FIX Wrt the previous commitment, I
	  actually meant: 'Use "SymbTable_get_layers_state_input_symbols"
	  instead'


2006-11-29 14:29  Roberto Cavada

	* src/enc/bdd/: BddEnc.c, BddEnc.h: REFACTORING
	* Moved private method bdd_is_var_in_cube to the public
	  interface, renaming	it as "BddEnc_is_var_in_cube"
	* Removed unsuitable method
	  bdd_enc_get_layers_state_input_sysmbols.  Use
	  "SymbTable_get_layers_state_symbols" instead (WARNING: slightly
	  different prototype, as dynamic instead of static arrays are
	  used to    hold the set of layer names)


2006-11-28 16:52  Roberto Cavada

	* src/enc/bdd/BddEnc.c: COSMETICS Added a warning and a comment
	  about a TODO feature.

	  The idea is to force a reordering to reuse possible old vars when
	  no new vars are available.


2006-11-28 15:46  Roberto Cavada

	* src/enc/bdd/BddEnc.c: CRITICAL BUG FIX

	  According to CUDDs documentation, when groups of variable were
	  created, consecutive var _indices_ were used. However, it has
	  been proved that consecutive _levels_ were intended instead.

	  This requirement had an important impact on the way class BddEnc
	  chooses variables indices when allocating new variables, in
	  particular when a previous layer remove had occurred.

	  WHAT CHANGED: 1. Consecutive _levels_ are guaranteed now to be
	  provided when allocating    a new bunch of variables.

	  2. Next variables are still kept close to their corresponding
	  current var (for state vars). "Close" here means that the
	  _level_ of current and next vars are close each other. About
	  their indices, they are kept close when possible (i.e. no
	  groups of mixed state and input vars are created, that is
	  _always_ the case in current version, but actually NuSMV 2.4
	  supports the creation of such kind of groups).

	  3. As a conseguence of point 2, next variables might have
	  arbitrary    index wrt the corresponding current variable.


2006-11-28 15:32  Roberto Cavada

	* configure.ac: FEATURE
	  + It is now possible to make configure to
	  link nusmv to a different   cudd version by assigning variable
	  'cuddname' at configure time

	    $> ./configure [options] cuddname=name

	    Default is still "cudd-2.3.0.1"

	  + Added verbosity to state the cudd version that is being used.


2006-11-28 15:28  Roberto Cavada



2006-11-28 15:26  Roberto Cavada

	* src/dd/: dd.c, dd.h: NEW FUNCTION, VERBOSITY * Added new function
	  dd_get_level_at_index * Added some verbosity about block creation


2006-11-23 18:12  Marco Roveri

	* doc/user-man/: batch.tex, inter.tex, nusmv.sty, syntax.tex: Final
	  revision of the manual.


2006-11-21 11:02  Roberto Cavada

	* src/: dag/dagEn.c, enc/bdd/BddEnc.c, opt/optCmd.c, opt/optInt.h,
	  parser/grammar.y, parser/ord/ord_input.l, simulate/simulate.c,
	  trace/Trace.h, trace/TraceLabel.h, trace/Trace_private.h,
	  trace/plugins/TraceExplainer.h,
	  trace/plugins/TraceExplainer_private.h,
	  trace/plugins/TraceTable.h, trace/plugins/TraceTable_private.h,
	  trace/plugins/TraceXml.h, trace/plugins/TraceXml_private.h:
	  CLEANUP Changed C++ comments to C90 standard.  Other general


2006-11-21 10:10  Roberto Cavada

	* configure.ac, src/compile/compileCmd.c, src/enc/enc.c,
	  src/fsm/FsmBuilder.c, src/fsm/bdd/BddFsmCache.c, src/ltl/ltl.c,
	  src/ltl/ltl2smv/ltl2smvMain.c, src/mathsat/mathsat.h,
	  src/mathsat/mathsatCmd.c, src/mathsat/mathsatWriteMathSAT.c,
	  src/mc/mcLE.c, src/node/node.c, src/opt/opt.h, src/sm/smInit.c,
	  src/trace/pkg_trace.h: CLEANUP Fixed many warnings due to missing


2006-11-20 19:04  Roberto Cavada

	* doc/: tutorial/title.tex, user-man/app.tex, user-man/batch.tex,
	  user-man/cmdpo.dia, user-man/cmdpo.eps, user-man/cmdpo.fig,
	  user-man/inter.tex, user-man/syntax.tex, user-man/title.tex,
	  user-man/typerulesapp.tex, user-man/cmd/check_spec.tex: DOCS
	  Massive fix of the user manual, now aligned to version 2.4.
	  Thanks to MR for providing feedback.

	  TODO: tutorial should be updated to include the new features of
	  2.4


2006-11-20 11:27  Roberto Cavada

	* src/parser/: grammar.y, input.l: FEATURE

	  Added CTLSPEC as alias of SPEC at grammar level.  Internally ,
	  CTLSPEC are built as SPEC nodes, and the system works with SPECs
	  for backward compatibility. Simply, CTLSPEC is now allowed to be
	  used instead of SPEC at grammar level.


2006-11-20 10:38  Roberto Cavada

	* src/compile/FlatHierarchy.c, src/compile/compileFlatten.c,
	  test/bug_435/bug0.smv, test/bug_435/bug1.smv,
	  test/bug_435/bug2.smv: PARTIAL BUG FIX #435

	  Partially fixes bug 435, related to assignments of bit
	  selections.  For current version, assignments of bit selections
	  are reported as unsupported feature, and nusmv exists with an
	  error message reported to the user.

	  Test files have been added to allow easy tests for next version.

2006-11-17 16:18  Roberto Cavada

	* src/enc/: bdd/BddEnc.c, bool/BoolEnc.c: BUG FIX Fixed bits order
	  in words.  Now lsb is at the right place in the internal array
	  (index 0).  MSB occurs higher in the vars order, and the order is


2006-11-17 15:06  Andrei Tchaltsev

	* src/enc/bdd/BddEnc.c: BUG FIX

	  Now the order of indexes of bits of a word var in ordering file
	  and in SMV file are the same. For example,   VAR a : word[3];
	  order bit a.0 now corresponds to word bit w[0:0] Before the fix
	  a.0 corresponded to w[2:2].


2006-11-16 15:54  Roberto Cavada

	* src/: compile/compileCmd.c, compile/symb_table/SymbTable.c,
	  compile/symb_table/SymbTable.h, simulate/simulateCmd.c,
	  trace/TraceManager.c, trace/TraceManager.h, trace/traceCmd.c,
	  trace/plugins/TraceExplainer.c,
	  trace/plugins/TraceExplainer_private.h,
	  trace/plugins/TracePlugin.c, trace/plugins/TracePlugin.h,
	  trace/plugins/TracePlugin_private.h, trace/plugins/TraceTable.c,
	  trace/plugins/TraceTable_private.h,
	  trace/plugins/TraceXmlDumper.c, trace/plugins/TraceXmlLoader.c,
	  trace/plugins/TraceXml_private.h: NEW FEATURE Added a mechanism
	  to provide a finer control over symbols that are shown by trace
	  plugins when their action occurs.

	  Layers whose symbols must be shown by a trace plugin are
	  registered into the TraceManager. This allows for showing symbols
	  declared inside layers dynamically added during the execution.
	  Layers can be registered and unregistered at any time.

	  This feature is intended to provide immediate support to cegar,
	  and as general improvement for possible algorithms.

	  At the moment, the only registered layer is the model's layer.


2006-11-16 15:49  Roberto Cavada

	* src/compile/compileFlatten.c: BUG FIX resolve_name supports
	now BIT_SELECTION nodes.


2006-11-13 17:03  Roberto Cavada

	* src/enc/bdd/BddEnc.c: BUG FIX Bits of scalar variables were not
	grouped by default.

2006-11-13 11:29  Andrei Tchaltsev

	* src/parser/grammar.y: REMOVED UNSUPPORTED ELEMENTS

	  In the body of a GAME all unsupported constructs (such as
	  LTLSPEC, INVARSPEC, FAIRNESS, etc) are commented out.



2006-11-10 17:15  Roberto Cavada

	* src/enc/bdd/: BddEnc.c, BddEnc_private.h: BUG FIX #432

	  Related to missing error detection (like "division by zero").
	  Optimization to avoid unuseful traversal of ADDs was a bit too


2006-11-10 17:07  Roberto Cavada

	* src/utils/: assoc.c, assoc.h: NEW FUNCTION Added


2006-11-09 18:22  Andrei Tchaltsev

	* doc/user-man/syntax.tex: COMMENT ADDED

	  Added a comment about boolean operands of MOD expression.



2006-11-09 14:12  Andrei Tchaltsev

	* src/compile/type_checking/checkers/: CheckerCore.c, CheckerPsl.c,
	  CheckerStatement.c, checkersInt.h: BUG FIX

	  Now "mod" may have boolean operands but a warning is output
	  (because such operation is technically useless).

	  A new kind of type system violation was add:
	  TC_VIOLATION_TYPE_WARNING



2006-11-08 16:45  Roberto Cavada

	* src/enc/bdd/BddEnc.c: BUG FIX When input variables were encoded,
	  the dynamic ordering got locked and not eventually unlocked.

	  This makes dynamic ordering work again, but does not fixed
	  performance issues reported by [MB], as now nusmv spends most of
	  its time performing dynamic reordering :(

	  Still to be investigated at higher level.


2006-11-03 18:00  Marco Roveri

	* src/compile/compileCmd.c: Removed the warning on the check.

	  The compute_flat_model is not needed since the construction of
	  the boolean model also build it if not already built.


2006-11-03 17:52  Marco Roveri

	* src/enc/bdd/BddEnc_private.h: Removed the warning.

	  The comment already explain the problem, to consider whenever we
	  will distribute MBP


2006-11-03 17:48  Marco Roveri

	* src/sm/smMisc.c: Moved the warning between an #if HAVE_MBP


2006-11-03 15:52  Marco Roveri

	* src/opt/: optCmd.c, optInt.h: Removed one warning related to
	  option APPEND_CLUSTERS, by hiding the print of it by means of a
	  #define in optInt.h


2006-11-03 15:45  Marco Roveri

	* src/mc/mcInvar.c: Removing warning. The use of BddEnc_expr_to_bdd
	  is correct since here we deal only with invariants expressed as
	  simple_expressions.  No temporal operator should be present. The
	  "G" is implicit.


2006-11-03 15:42  Marco Roveri

	* src/ltl/ltl2smv/ltl2smv.c: slightly modified warning message.
	  Printed only if debugging of ltl2smv is enabled at compilation
	  time.


2006-11-03 15:40  Marco Roveri

	* src/fsm/bdd/BddFsm.c: Removed #warning the optimization is
	  correct


2006-11-03 15:38  Marco Roveri

	* src/bmc/sbmc/sbmcTableau.c: Removed #warning turning into a
	  comment.


2006-11-03 10:04  Viktor Schuppan, Marco Roveri

	* src/enc/bdd/BddEnc.c: Moved free of syms list to the end of the
	  foreach loop.  This is because the list in the NodeList_ptr is
	  traversed within the loop and is not a copy of the list within
	  the NodeList_ptr. If left in the previous position, then a
	  segfault happen.


2006-11-02 17:19  Roberto Cavada

	* src/: compile/type_checking/checkers/CheckerCore.c,
	  compile/type_checking/checkers/CheckerPsl.c,
	  node/printers/PrinterPsl.c, parser/psl/pslConv.c,
	  parser/psl/pslExpr.c, parser/psl/pslExpr.h, parser/psl/pslNode.c,
	  parser/psl/pslNode.h, parser/psl/psl_grammar.y,
	  parser/psl/psl_symbols.h: BUG FIX #430 ITE (if-then-else) are now
	  handles natively into PSL This fixes bug #430 as a side effect.

2006-11-02 17:18  Roberto Cavada

	* src/enc/bdd/: BddEnc.c, BddEnc_private.h: OPTIMIZATION FAILURE


2006-11-02 16:10  MArco Bozzano

	* src/: compile/compileUtil.c, sa/saCmd.c: When DCOI is used, now
	  checking also that flat model has been constructed (DCOI needs
	  the sexp corresponding to the global FSM).

	  Fixed typo in Compile_check_if_flat_model_was_built().


2006-11-02 15:54  Roberto Cavada

	* src/compile/: compile.h, compileUtil.c: NEW FUNCTION Added
	  function  Compile_check_if_flat_model_was_built

	  ... to check flat model status and relative error reporting.


2006-11-02 14:32  Marco Roveri

	* src/enc/bdd/BddEnc.c: Revised function to extract prime
	  implicants from a BDD.  Now only the variables in the specified
	  layers are considered. All the others are discarded. The
	  interface changed w.r.t. the previous one.


2006-11-02 09:54  Viktor Schuppan

	* src/enc/bdd/BddEnc.c: Fixed a typo on an argument of a function
	  in BddEnc_ComputePrimeImplicants


2006-10-31 14:39  Marco Roveri

	* src/dd/: dd.c, dd.h, ddInt.h: Added two new functions for
	  computing prime implicants of a BDD.

	EXTERN bdd_ptr  bdd_largest_cube ARGS((DdManager *dd,
	  				       bdd_ptr b, int *length));

	EXTERN array_t * bdd_compute_primes ARGS((DdManager * dd, bdd_ptr b));

	EXTERN bdd_ptr  bdd_make_prime ARGS((DdManager *dd,
	                                     bdd_ptr cube, bdd_ptr b));


2006-10-31 14:38  Marco Roveri

	* src/enc/bdd/BddEnc.c: Added a new not exported function

	  array_t * BddEnc_ComputePrimeImplicants(BddEnc_ptr self, bdd_ptr
	  bdd)

	  which Finds the set of prime implicants of a BDD b. Each element
	  of the resulting array is a prime implicant of the BDD b. The
	  prime implicant is represented as a list of pairs (<vname> .
	  {0|1}), with the intended meaning that the variable name <vname>
	  should be considered positive (1) or negative (0).


2006-10-31 14:07  Marco Bozzano

	* src/sm/smMain.c: BUG FIX (minor).  Fixed this behaviour for
	  option -m:

	  $> ./NuSMV -int -m rer The method "(null)" is not a
	  valid reorder method.

	  Bug: argv was incremented too early.

	  Correct behaviour:

	  $> ./NuSMV -int -m rer The method "rer" is not a
	  valid reorder method.

2006-10-31 14:02  Marco Bozzano

	* src/: enc/bdd/BddEnc.c, opt/optCmd.c, sm/smMain.c: Added
	  command-line option -vars_order (sa package only, conditionally
	  compiled).

	  Also changed names of the NuSMV functions EXTERN void
	  opt_set_vars_order_type ARGS((options_ptr, VarsOrdType)); EXTERN
	  VarsOrdType opt_get_vars_order_type ARGS((options_ptr)); to
	  EXTERN void set_vars_order_type ARGS((options_ptr, VarsOrdType));
	  EXTERN VarsOrdType get_vars_order_type ARGS((options_ptr));
	  to adhere to the NuSMV convention (hopefully)
	  and consequently fixed a wrong export (unexisting function
	  set_vars_order_type was previously exported).


2006-10-31 11:42  Roberto Cavada

	* src/enc/bdd/BddEnc.c: PERFORMANCES improved


2006-10-31 11:41  Roberto Cavada

	* src/fsm/FsmBuilder.c: MINOR BUG FIX '&' was used instead of '&&'


2006-10-31 11:06  Andrei Tchaltsev

	* src/enc/bdd/BddEnc_private.h: WARNING ADDED

	  As RC asked a compile-time warning is added as a remind to
	  re-implement a function later on (this function changes var
	  ordering).


2006-10-25 14:17  Roberto Cavada

	* src/sm/smMain.c: COSMETICS Fixed banner "environment variable" ->
	  "system variable"


2006-10-24 17:00  Roberto Cavada

	* src/bmc/bmcCmd.c, src/bmc/bmcCmd.h, src/bmc/bmcInt.h,
	  src/bmc/bmcPkg.c, src/bmc/sbmc/sbmcCmd.c, src/compile/compile.h,
	  src/compile/compileCmd.c, src/compile/compileUtil.c,
	  src/fsm/bdd/bddCmd.c, src/fsm/be/BeFsm.c,
	  src/mathsat/mathsatCmd.c, src/mbp/mbpCmd.c, src/mc/mcCmd.c,
	  src/prop/propCmd.c, src/prop/propProp.c, src/sa/saCmd.c,
	  src/simulate/simulateCmd.c, src/trace/traceCmd.c,
	  doc/user-man/cmd/go.tex, doc/user-man/cmd/go_bmc.tex,
	  doc/user-man/cmd/process_model.tex:

	  BUG FIX, NEW FEATURE
	  * When COI is enabled, missing bmc model construction is reported
	    accordingly (thanks [MB])
	  * Factorized the code for checking (and reporting errors) for
	    model construction.
	  * Updated the whole src code accordingly
	  * Added option -f (force building) to commands:
	    - build_boolean_model
	    - bmc_setup
	    - go
	    - go_bmc
	    - process_model
	  * Documented new option for the listed commands
	  * FIXED: command process_model no longer creates the boolean
	    model

2006-10-24 09:49  Roberto Cavada

	* src/sm/smMain.c:
	  BUG FIX When -s was used with command 'quit', Sm_End
	  (deinitialization) was performed erroneously twice. Thanks [MB]

2006-10-23 11:51  Roberto Cavada

	* src/: compile/compile.h, compile/compileCmd.c,
	  compile/compileUtil.c, fsm/bdd/BddFsm.c, fsm/bdd/BddFsm.h,
	  fsm/bdd/bddCmd.c, fsm/bdd/bddInt.h, ltl/ltl.c, mbp/mbpCmd.c,
	  mc/mcCmd.c, prop/propCmd.c, sa/saCmd.c, simulate/simulateCmd.c,
	  trace/traceCmd.c:
	  BUG FIX
	  Background: When COI is enabled, model construction is delayed
	  until a property is checked.

	  Bug: When coi is enabled and a model-related command (for
	  example, check_fsm) is executed, the model is stated to be not
	  yet built (correct), but the user is asked to execute command
	  'build_model' that has no effect when coi is enabled (a warning
	  is issued only when verbosity > 0). Thanks to [MB] for reporting.

	  Fix: All commands depending on model construction checks options
	  conditions and report to the user accordingly.

2006-10-20 17:55  Roberto Cavada

	* src/ltl/ltl.c: BUG FIX #416
	  Fixed simulation starting from states into traces generated by
	  BDD-based LTL model checking. The trace is stripped of the
	  tableau variables.

	  ** Warning ** This fix may lead to more fake loops printed out
	  when the trace is printed, as states that were different when
	  tableau vars were in the trace now may become the same state
	  after tableau vars are abstracted.

2006-10-20 13:48  Roberto Cavada

	* src/compile/FlatHierarchy.c:
	BUG FIX #423 Added missing ATOM case to assertion

2006-10-20 13:37  Roberto Cavada

	* src/: bmc/bmcCmd.c, bmc/bmcCmd.h, bmc/sbmc/sbmcCmd.c,
	  bmc/sbmc/sbmcCmd.h, cmd/cmd.h, cmd/cmdCmd.c:
	  BUG FIX #405 Fixed PFI

2006-10-19 16:26  Roberto Cavada

	* src/compile/compileFlatten.c:
	BUG FIX Flattener in the case of leaves did not call find_atom

2006-10-19 15:48  Roberto Cavada

	* src/: node/node.c, node/node.h, utils/WordNumber.c,
	  utils/WordNumber.h:
	  NEW FEATURE
	  - Added function node_normalize
	  - Cosmetics in WordNumber

2006-10-19 15:18  Andrei Tchaltsev

	* src/utils/: WordNumber.c, WordNumber.h:
	NEW FEATURE
	  A new function is added: to convert not-memory-shared instances
	  of WordNumber obtained after parsing to memory-shared ones.


2006-10-17 09:07  Roberto Cavada

	* doc/user-man/batch.tex: DOC Fixed docs of option -t according to
	  wendy's feedback.

2006-10-16 17:10  Roberto Cavada

	* doc/user-man/inter.tex, src/enc/enc.c, src/enc/enc.h,
	  src/enc/bdd/BddEnc.c, src/opt/opt.h, src/opt/optCmd.c,
	  src/opt/optInt.h:
	  NEW OPTION
	  Added option vars_order to control the way variables are ordered
	  by default, when no ordering file is specified.

	  Possible values:
	  - inputs_before (default)
	  - inputs_after
	  - lexicographic

	  Added documentation of the new option. At the moment the option
	  is not accessible in batch mode.

2006-10-16 12:21  Andrei Tchaltsev

	* src/compile/compileFlatten.c:
	BUG FIX find_atom was not applied to numbers during name resolving.

2006-10-16 11:14  Roberto Cavada

	* src/: compile/compile.h, compile/compileUtil.c, fsm/FsmBuilder.c:
	  BUG FIX
	  After wendy's feedback, fixed a bug due to the use of
	  unflattened variable names in trans order list.

2006-10-13 18:18  Andrei Tchaltsev

	* src/parser/grammar.y:
	BIG FIX
	Grammar is changed to allow negative integers in subrange,
	type-values, and in place of array indexes.

2006-10-13 15:17  Roberto Cavada

	* src/: compile/compileFlatten.c, parser/grammar.y:
	BUG FIX
	  Re-added support for negative numbers in subranges.  This was
	  fixed by providing special cases in grammar production, and by
	  implementing a very-minimal evaluator for constant numbers in
	  compile. Thanks to MB for reporting it.


2006-10-13 11:09  Roberto Cavada

	* doc/user-man/batch.tex, doc/user-man/inter.tex, src/ltl/ltl.c,
	  src/opt/opt.h, src/opt/optCmd.c, src/opt/optInt.h,
	  src/sm/smMain.c:
	  NEW SYSTEM VARIABLE, NEW CMD LINE OPTION
	  - Added a new system var: 'ltl_tableau_forward_search' to enable
	  calculation of reachable states set for the LTL tableau FSM
	  - Added new command line option -flt to control the new variable
	  in batch mode
	  - Fixed ltl.c to exploit the new feature
	  - Documented the new feature.

2006-10-12 19:17  Marco Bozzano

	* src/dd/dd.c:
	BUG FIX
	Disabling re-ordering during execution of function
	bdd_get_one_sparse_sat to prevent problems when reordering is
	called during the printing of a counterexample (which happens
	frequently using BMC ...). Thanks to Dave Jones for the bug report.

2006-10-11 17:05  Roberto Cavada

	* autoreconf.sh:
	NEW SCRIPT
	Use this script instead of
	'autoreconf'. This checks automake is the right version and uses
	other autotools accordingly.
	After a CVS checkout: $> ./autoreconf.sh -i
	After a modification to any file generated by autotools:
	$> ./autoreconf.sh
	IMPORTANT: Use option "-i" only after checking out a new fresh
	copy of the CVS repository

2006-10-11 16:51  Marco Roveri, Roberto Cavada

	* src/fsm/bdd/BddFsm.c:
	OPTIMIZATION When calculating states_input
	constraints, we start from reachable states (if enabled) instead
	of bdd_one when making the backward image.

2006-10-10 17:05  Roberto Cavada

	* src/mc/mcMc.c:
	PERFORMANCES Improved EG in order to return fair states when the
	argument is bdd_one

2006-10-10 15:17  Roberto Cavada

	* src/: fsm/bdd/BddFsm.c, fsm/bdd/BddFsm.h, fsm/bdd/BddFsmCache.c,
	  fsm/bdd/bddInt.h, ltl/ltl.c:
	  FEATURES
	  - Added method BddFsm::copy_reachable_states to copy
	  previously computed reachable states between two FSMs.
	  - Fixed LTL2SMV to perform reachable states only once

2006-10-10 13:55  Andrei Tchaltsev

	* src/node/printers/PrinterWffCore.c:
	FEATURE
	Word expressions was not implemented in boolean model
	printing function.

2006-10-09 19:46  Andrei Tchaltsev

	* src/compile/type_checking/TypeChecker.c:
	BUG FIX
	A variable was not initialized.

2006-10-09 16:12  Roberto Cavada

	* src/ltl/ltl2smv/ltl2smv.c:
	BUG FIX
	Ordering of tableau vars is now correct.

2006-10-09 16:11  Roberto Cavada

	* src/enc/bdd/BddEnc.c:
	PREFORMANCES Re-shuffle of variables is now performed only when
	needed when committing a new layer

2006-10-09 16:05  Roberto Cavada

	* src/compile/compileCone.c:
	BUG FIX For some reason, previous commitment on this file removed
	case UMINUS

2006-10-09 12:17  Francesco Tapparo

	* src/compile/compileCone.c:
	FEATURE
	Added function Formula_GetDependenciesByType to calculated
	filtered dependencies

2006-10-06 15:59  Marco Roveri, Roberto Cavada

	* src/ltl/: ltl.c, ltl2smv/ltl2smv.c:
	PERFORMANCES TUNING

2006-10-05 16:17  Roberto Cavada

	* src/sm/smMain.c:
	COSMETICS Changed starting banner about Minisat:
	Minisat is MIT licence, so no 'WARNING' is needed, only copyright
	and references notes.

2006-10-05 16:02  Roberto Cavada

	* src/ltl/ltl2smv/ltl2smv.c:
	FEATURE Integrated Stefano Tonetta's <tonettas@lu.unisi.ch> idea.
	Optimized code leads to an improvedperformance of about 30%.

2006-10-05 14:54  Roberto Cavada

	* doc/user-man/cmd/write_boolean_model.tex:
	DOCS
	Added documentation of a new feature of command
	'write_boolean_model'. The new fetures dumps variables ordering
	when needed.

2006-10-05 14:40  Roberto Cavada

	* src/compile/compileCmd.c:
	BUG FIX
	Variable ordering type (SCALAR or single BITS) is read from system
	options when dumping vars ordering in command write_boolean_model

2006-10-05 14:33  Roberto Cavada

	* src/compile/compileCmd.c:
	USABILITY BUG FIX
	When COI is enabled and boolean model was not built before setting
	the COI, the command 'write_boolean_model' issues an error to
	warn the user of the special condition that prevents the command
	to successfully teminate the task.


2006-10-05 14:21  Roberto Cavada

	* doc/user-man/inter.tex, doc/user-man/cmd/check_ctlspec.tex,
	  doc/user-man/cmd/check_spec.tex, src/mc/mcCmd.c:
	  NEW COMMAND
	  Added command 'check_ctlspec' as an alias of 'check_spec'.
	  'check_spec' is still supported, but is stated to be deprecated.
	  This makes the set of checking commands more consistent:
	  check_ctlspec check_ltlspec check_pslspec

2006-10-03 15:46  Roberto Cavada

	* src/: compile/compileCmd.c, opt/optCmd.c:
	NEW FEATURE
	When the boolean model is dumped, and the reordering had been
	previoulsy triggered by cudd, the ordering file is dumped as well,
	and the user got notified accordingly.

2006-10-03 15:41  Roberto Cavada

	* src/: dd/dd.c, dd/dd.h, enc/bdd/BddEnc.c, enc/bdd/BddEnc.h,
	  enc/bdd/BddEnc_private.h:
	  NEW FUNCTIONS Added functions to control reordering counting.

2006-10-03 10:09  Roberto Cavada

	* src/opt/optCmd.c:
	BUG FIX
	  This bug fix is a temporary hack to prevent usage of corrupted
	  memory.  It re-introduces memory leaks in the option handling,
	  though.  We do need a better option handling (raise the dead
	  option manager!)

	  Thanks to MB for catching it.

2006-10-03 09:49  Roberto Cavada

	* src/: fsm/FsmBuilder.c, parser/idlist/ParserIdList.c,
	  parser/idlist/idlist_grammar.y:
	  BUG FIX
	  Exception handled when parsing a wrong trans ordering that leads
	  to a parsing error.

2006-10-02 15:29  Roberto Cavada

	* src/: opt/opt.h, opt/optCmd.c, opt/optInt.h,
	  trans/bdd/ClusterList.c, trans/bdd/ClusterList.h,
	  trans/bdd/ClusterOptions.c, trans/bdd/ClusterOptions.h:
	  FEATURES
	  - Added option 'append_clusters' to control clustering (it is
	  likely that the option will be hidden, it has been added for
	  the sake of benchmarking)
	  - Clusters are appended by default
	  This should make wendy's idea fully integrated into nusmv.

2006-09-29 14:40  Roberto Cavada

	* doc/user-man/batch.tex, doc/user-man/inter.tex,
	  doc/user-man/main.bib, src/sm/smMain.c:
	  FEATURE, DOCS
	  Added option -t <tv_file> to the batch mode. Added documentation
	  for wendy's feature

2006-09-29 14:08  Roberto Cavada

	* src/: fsm/FsmBuilder.c, fsm/sexp/SexpFsm.c, opt/opt.h,
	  opt/optCmd.c, sm/smMain.c:
	  NEW FEATURE
	  When building the scalar fsm, variable ordering is taken into
	  account.  According to Wendy Johnston idea, this later will have
	  (positive) effects on the BDD clustering construction.
	  When specified, trans ordering file will override variable
	  ordering. Clustering still have to be modified accordingly.

2006-09-29 11:59  Roberto Cavada

	* src/opt/: opt.h, optCmd.c, optInt.h:
	FEATURE, BUG FIX, CLEANUP
	  - Added new option trans_order_file suggested by Wendy Johnston
	  <wendy@itee.uq.edu.au>
	  - Fixed memory leaks in the options package - Tidied up some code
	  in options string settings.
	  New option still needs to be documented.

2006-09-28 16:00  Roberto Cavada

	* src/fsm/sexp/SexpFsm.c:
	BUG FIX
	Fixed memory leak in SexpFsm destroyer. Now reference counting is
	carried out to correctly dispose of internal hash table.
	Thanks to [AT] for reporting this bug.

2006-09-28 15:35  Roberto Cavada

	* src/compile/: compile.h, compileUtil.c:
	NEW FUNCTION
	Added function Compile_make_sorted_vars_list_from_order
	The new function allows to construct sorted lists of symbols
	given a partially ordered lists.

2006-09-28 12:00  Andrei Tchaltsev

	* src/enc/bdd/: BddEnc.c, BddEnc_private.h:
	INTERFACE CHANGE
	Two static functions are moved to private interface (these two
	functions are not ready for broad outside use, but required by MBP
	package). After proper implementation and description the
	functions should be moved to public interface.

2006-09-28 11:20  Roberto Cavada

	* src/: bmc/bmcCmd.c, bmc/bmcInt.h, bmc/bmcPkg.c,
	  bmc/sbmc/sbmcCmd.c, compile/compile.h, compile/compileCmd.c,
	  compile/compileStruct.c:
	  BUG FIX, CODE REFACTORING
	  - Splitted bmc package initialization and Be FSM construction
	  - bmc works now fine when COI is involved
	  - Factorized code that checks that bmc is up und running

2006-09-27 16:17  Andrei Tchaltsev

	* src/fsm/sexp/SexpFsm.c:
	BUG FIX
	The bug was caused by freeing the same node_ptr twice: copy
	constructor of SexpFsm copied a pointer to some its subpart, but
	the destructor freed it.

2006-09-26 16:27  Roberto Cavada

	* configure.ac, src/parser/Makefile.am,
	  src/parser/idlist/Makefile.am, src/parser/idlist/ParserIdList.c,
	  src/parser/idlist/ParserIdList.h,
	  src/parser/idlist/ParserIdList_private.h,
	  src/parser/idlist/idlist_grammar.y,
	  src/parser/idlist/idlist_input.l, src/parser/idlist/idlist_int.h,
	  src/utils/error.c, src/utils/error.h: NEW FEATURE Added class
	  ParserIdList with the relative parser based on flex/bison.  The
	  new class allows for easily parse lists of IDs from files and
	  strings.



2006-09-26 12:02  Roberto Cavada

	* src/enc/bdd/BddEnc.c: BUG FIX Fixed implicit ordering of scalar
	  input variables.  Thanks to Andrew Miner <asminer@cs.iastate.edu>
	  for reporting this bug.

2006-09-26 12:00  Roberto Cavada

	* src/enc/base/BaseEnc.c: COSMETICS Addes a comment that makes a
	  method's semantics more clear.

2006-09-26 09:44  Roberto Cavada

	* src/mathsat/: mathsat.h, mathsatCmd.c, mathsatWriteMathSAT.c:
	  FEATURE Fixed MathSat_write_hierarchy.

2006-09-20 16:43  Andrei Tchaltsev

	* src/compile/symb_table/: SymbType.c, SymbType.h:
	NEW FEATURE
	Added a copy-constructor (SymbType_copy) to SymbType class.

2006-09-20 15:31  Roberto Cavada

	* src/: compile/symb_table/SymbLayer.c,
	  compile/symb_table/SymbLayer_private.h,
	  compile/symb_table/SymbTable.c, compile/symb_table/SymbTable.h,
	  enc/base/BaseEnc.c, enc/bdd/BddEnc.c, enc/be/BeEnc.c,
	  enc/bool/BoolEnc.c:
	  NEW FEATURE Added method rename_layer to the
	  class SymbTable. All modification in encoders are only comments.

2006-09-18 15:23  Roberto Cavada

	* src/: bmc/bmcPkg.c, bmc/sbmc/sbmcPkg.c, cmd/cmdMisc.c,
	  compile/FlatHierarchy.c, compile/FlatHierarchy.h,
	  compile/compileCmd.c, compile/compileFlatten.c,
	  fsm/sexp/SexpFsm.c, ltl/ltl2smv/ltl2smvMain.c, opt/opt.h,
	  opt/optCmd.c, opt/optInt.h, parser/grammar.y, parser/input.l,
	  parser/symbols.h, sm/sm.h, sm/smInit.c, sm/smInt.h, sm/smMain.c:
	  FEATURES
	  - renamed option program_name to program_path
	  - added option program_name
	  - external tools that link nusmv no longer require to include
	  "smInt.h"
	  - moved Sm{Init,End} to the public interface, renamed as
	  Sm_{Init,End}
	  - added PRED (for predicates) to the grammar.

2006-09-01 16:37  Roberto Cavada

	* src/: compile/compileCmd.c, sm/smMisc.c:
	CRITICAL BUG FIX
	Fixed the booleanization bug. Booleanization was performed even
	when not needed, both in batch and interactive mode. Notice that
	the interactive mode of 2.3.1 was also affected.
	Warning: may need some tests of the user level

2006-08-23 18:02  Roberto Cavada

	* src/: compile/compileBEval.c, compile/compileCone.c,
	  compile/compileFlatten.c, compile/compileUtil.c,
	  compile/symb_table/SymbLayer.c, compile/symb_table/SymbLayer.h,
	  compile/symb_table/SymbType.c, compile/symb_table/SymbType.h,
	  compile/type_checking/checkers/CheckerCore.c, enc/operators.c,
	  enc/operators.h, enc/bdd/BddEnc.c, enc/utils/AddArray.c,
	  enc/utils/AddArray.h, node/node.c, node/node.h,
	  node/printers/PrinterWffCore.c, parser/grammar.y,
	  parser/symbols.h, trans/bdd/ClusterList.c, utils/WordNumber.c,
	  utils/WordNumber.h:
	  FEATURES
	  Ported some features of SMT-COMP
	  Still missing:
	  - heurstics for words bit interleaving
	  - signed operators at parser level

2006-08-22 18:41  Roberto Cavada

	* src/compile/type_checking/checkers/CheckerPsl.c:
	BUG FIX
	In Sere repeats like {id [*N]} type checking caused a segfault as
	N was checked to be integer, but the type checker up casts N to
	boolean when N is in {0,1}.

2006-08-17 15:38  Roberto Cavada

	* src/: bmc/sbmc/sbmcCmd.c, bmc/sbmc/sbmcCmd.h, mc/mcCmd.c:
	NEW FEATURE
	Added options -s -c -N to the command check_pslspec

2006-08-07 08:36  Roberto Cavada

	* src/compile/compileFlatten.c:
	BUG FIX Added missing UMINUS case to the flattener.

2006-08-04 09:40  Roberto Cavada

	* src/: compile/compileBEval.c,
	  compile/type_checking/checkers/CheckerCore.c, enc/operators.c,
	  enc/bdd/BddEnc.c, enc/utils/AddArray.c, enc/utils/AddArray.h,
	  node/printers/PrinterWffCore.c, parser/smtParsing.c,
	  parser/smtRewriter.c:
	  BUG FIX Added support to unary minus (UMINUS)

2006-08-03 13:05  Roberto Cavada

	* src/: compile/compileBEval.c, enc/bdd/BddEnc.c,
	  enc/utils/AddArray.c, enc/utils/AddArray.h:
	  FEATURE Added word sign extend

2006-08-03 09:30  Roberto Cavada

	* src/enc/: bdd/BddEnc.c, utils/AddArray.c, utils/AddArray.h:
	  FEATURE Added signed operators but sign extend


Mon 31 Jul NuSMV team <nusmv@fbk.eu>
	* === Released version 2.4.0 ===


Thu 27 Jul 2006 16:04:01 Roberto Cavada <cavada@fbk.eu>
	* configure.ac
	Removed unused dependency with bsd library (was not used, but
	requested)

Wed 26 Jul 2006 Roberto Cavada <cavada@fbk.eu>
	* doc/user-man/syntax.tex
	Added some text to document where IVAR are not allowed to occur.

Wed 26 Jul 2006 Roberto Cavada <cavada@fbk.eu>
	* src/enc/be/BeEnc.c src/bmc/bmcSatTrace.c
	BUG FIX
	Due to a bug in BMC counter-example construction, be vars indices
	were still assumed to be > 0

	* src/compile/compileFlatten.c
	BUG FIX
	Array indices are checked to be atomic constants

	* src/bmc/sbmc/sbmcBmcInc.c
	BUG FIX
	This bug fix makes the command check_ltlspec_sbmc_inc re-entrant wrt ctrl+c
	(A similar bug fix for non incremental command has been already
	committed)

	* doc/user-man/{inter.tex,main.bib}
	* doc/user-man/cmd/{check_ltlspec_sbmc.tex,check_ltlspec_sbmc_inc.tex,gen_ltlspec_sbmc.tex}
	Added docs of new commands and options for SBMC

	* src/bmc/sbmc/sbmcTableauLTLformula.c
	BUG FIX
	Added a fallback behaviour to the il-opt algorithm for the case
	k=0

	* src/bmc/sbmc/sbmcUtils.c
	BUG FIX
	Fixed creation/destruction of the loop var layer.
	The bug occurred if the user interrupted the execution (ctrl+c) of
	sbmc commands.

Tue 25 Jul 2006	Roberto Cavada <cavada@fbk.eu>
	* src/enc/be/BeEnc.c
	BUG FIX
	Physical indices for BE vars were created starting from 1 instead
	of 0

	* src/bmc/{bmcDump.c,bmcSatTrace.c}
		* src/bmc/sbmc/sbmcUtils.c
	* src/be/{be.h,beRbcManager.c}
	* src/rbc/rbcCnf.c
	BUG FIX
	Having BE variables with index 0 occurring in CNF was not allowed.
	Fixed by hiding the way BE indices are associated to BE literals.
	Thanks to [MB] for double checking the fix.

	* src/compile/type_checking/TypeChecker.c
	PERFORMANCE
	Changed complexity of type checking of enumerations from O(N*N) to
	at most	O(N*lgN). This *makes* the difference when relatively big
	number of constants are used (see for example the test for
	bug_155)

	* src/utils/NodeList.c
	BUG FIX
	When the underlying list is shared, it is no longer destroyed by
	the class destroyer.

Fri 21 Jul 2006	Charles Arthur Jochim <jochim@fbk.eu>
	* configure.ac
	Add flag to enable/disable readline at configuration time.

Wed 19 Jul 2006	Roberto Cavada <cavada@fbk.eu>
	* src/utils/{error.c,error.h}
	* src/parser/grammar.y
	* src/enc/utils/AddArray.c
	* src/fsm/sexp/SexpFsm.c
	* src/enc/operators.c
	* src/compile/{compile.h,compileBEval.c,compileWrite.c}
	* src/bmc/sbmc/sbmcBmc.c,sbmcUtils.c}
	* src/nmb{bmcBmcInc.c,bmcBmcNonInc.c,bmcConv.c,bmcTest.c}
	* src/node/printers/PrinterWffCore.c
	* src/node/{node.h,nodePrint.c}
	BUG FIX
	Partially fixed the inconsisten behaviour when compiling
	(possibly) not exhaustive CASEs expression into either BDD or BE:
	With BDDs it is possible to detect correctly bad CASEs and report them
	to the user, whereas with BEs only a syntactical analysis is performed
	at the moment, so it is not always possible (for release 2.4.0)
	to distinguish between right cases and not-exhaustive cases.

	When BEs (BMC) are used, a warning is printed in ambiguous cases.

	* src/enc/bdd/{BddEnc.c,BddEnc.h,BddEnc_private.h}
	NEW FEATURE
	Added public methods 'add_to_expr' and 'bdd_to_expr' to the class BddEnc
	(Thanks to <thiagocarvalho@yahoo.com> for requesting it.

Mon 17 Jul 2006	Roberto Cavada <cavada@fbk.eu>
	* src/parser{grammar.y,input.l,symbols.h}
	* node/printers/PrinterWffCore.c
	* src/node/nodePrint.c
	* src/fsm/sexp/{SexpFsm.c,SexpFsm.h}
	* compile/type_checking/checkers/{CheckerCore.c,CheckerPsl.c,CheckerStatement.c}
	* src/compile/{compileCmd.c,compileFlatten.c,compileWrite.c}
	NEW GRAMMAR STATEMENT
	Added a new statement at SMV grammar level: CONSTANTS
	The new statement allows a user (or a generator) to make NuSMV
	declar  e a set of symbolic constants when flattening a SMV file.
	This makes it posssible to parse a file that contains DEFINEs whose
	body refer to symbolic constants values that do not occur into VARS
	ranges. This is the case of SMV files generated by the command
	write_boolean_model that dumps boolean variables as VARS, and
	each scalar variable as a DEFINEs whose body is the boolean encoding
	of the scalar variable (to help reading counter-examples, simulation,
	etc. as the user can still reason with scalar values even when
	working with a purely booleanized model)
	Dumping of CONSTANTS is conditioned to the value of the system variable
	backward_compatibility.

	* src/opt/{opt.h,optCmd.c,optInt.h}
	OPTION RENAMING
	Renamed system variable 'type_checking_backward_compatibility' to
	'backward_compatibility'

	* src/sm/smMain.c
	NEW CMDLINE OPTION
	Added new command line option '-old' to control the variable
	'backward_compatibility' in batch mode

	* src/compile/compileBEval.c
	BUG FIX
	Determinization variables are now declared as STATE variables
	instead of INPUT vars, as determinization happens at state level,
	and not at transition level. This allows determinization vars to
	stay into INITs and INVARs as it may happen when booleanized
	models are written and then need to be re-parsed.

	* src/compile/{compile.h,compileUtil.c}
	* src/ltl/ltl2smv/ltl2smvMain.c
	* src/prop/propProp.c
	NEW FEATURE
	Added function:
	 node_ptr Compile_pop_distrib_ops(node_ptr prop)
	 ... that simplifies the given property by exploiting the
	 distributivity of G, AG and H over AND, and distributivity of F, AF
	 and O over OR:
	    1) <OP> <OP> a           :-> <OP> a
	    2) (<OP> a) * (<OP> b)   :-> <OP> (a * b);
	    3) (<OP> (a * <OP> b))   :-> <OP> (a * b);
	    4) (<OP> (<OP> a * b))   :-> <OP> (a * b);
	    5) (<OP> (<OP> a * <OP> b)) :-> <OP> (a * b);
	   Where <OP> can be either:
	        G|AG|H for * := &
		F|AF|O for * := |

Tue 11 Jul 2006	Roberto Cavada <cavada@fbk.eu>
	* src/parser/psl/psl_grammar.y
	* src/node/printers/PrinterPsl.c
	BUG FIXES
	1. "G Sequence" is no longer a parsable PSL property
	   (accordingly to the grammar provided by IBM)
        2. always, never and eventually! are now printed correctly when
	   printing a following PSL Sequence
        3. Removed nested {} when printing SEREs

Mon 10 Jul 2006 Roberto Cavada <cavada@fbk.eu>
	* src/compile/{compile.h,compileCmd.c,compileStruct.c}
	BUG FIX
	Changed the behaviour of the command flatten_hierarchy when it fails:
	now it resets also the result of the command read_model to allow the
	user to fix the model and then re-read when working in interactive
	mode.

Fri 7 Jul 2006 Roberto Cavada <cavada@fbk.eu>
	* src/parser/psl/pslConv.c
	BUG FIX
	Conversion of PSL -> LTL was not handling the operator 'until!'
	(until bang)

Mon 3 Jul 2006 Roberto Cavada <cavada@fbk.eu>
	* src/sm/smMain.c
	FEATURE
	Reachable states are now computed by default (i.e. command line option
	-f is set by default)
	+ New command line option -df is provided to prevent the computation
	+ Docs have been changed accordingly

Mon 12 Jun Marco Roveri <roveri@fbk.eu>
	* src/bmc/sbmc/...
	First porting of the Incremental SBMC by Tommi Juntilla, Timo
	Latval. Helianko published in CAV 05.

Thu 1 Jun 2006 Marco Roveri <roveri@fbk.eu>
	* src/dd/{dd.h,dd.c}
	Added a function bdd_get_one_sparse_sat that returns one satidfying
	assignment for a BDD (i.e. a path from the root to the leaf 1).

	* src/compile/compileWrite.c
	BUG FIX #397
	Now fairness conditions FAIRNESS a & b are printed by the
	write flat model as FAIRNESS a & b instead of the wrong:
	 FAIRNESS a
         FAIRNESS b

	* src/ompile/compileCheck.c
	BUG FIX #314
	We cover also the hierarchy. Before only next of input variables
	in the rhs of next assign where detected only if they where
	occurring in the top level module (main).

Mon 29 May 2006 Roberto Cavada <cavada@fbk.eu>
	* src/sm/smInit.c
	* src/ltl/ltl.c
	BUG FIX
	Fixed a couple of memory leaks. Thanks to [AT] for profiling and
	finding these bugs.

Fri 26 May 2006	Roberto Cavada <cavada@fbk.eu>
	* src/compile/compileFlatten.c
	BUG FIX #393
	When there is name clashing between a variable and a formal
	parameter, this error message is printed (and the execution
	prevented from continuing): file <FILE>: line <N>: variable
	"<NAME>" shadows formal parameter

Fri 19 May 2006 Roberto Cavada <cavada@fbk.eu>
	* src/compile/compileCmd.c
	NEW COMMAND
	+ Added command print_fsm_stats
	+ Old command print_clusterinfo is still supported, but documented as
	  deprecated in 2.4
	+ Added docs for the new command

	* src/mc/mcMc.c
	* src/prop/{prop.h,propProp.c}
	* doc/user-man/syntax.tex
	* doc/user-man/cmd/compute.tex
	BUG FIX #315
	+ Fixed MAX behaviour when any of initial or final states is empty.
	+ Added value undefined to COMPUTE specifications
	+ Fixed docs
	+ Added warning during MAX computation for:
	  - initial states empty
	  - final states empty
	  - empty fair states

	* src/compile/compileCmd.c
	* src/opt/optCmd.c
	* src/sm/smInit.c
	* doc/user-man/cmd/process_model.tex
	BUG FIX #394
	+ Fixed re-enabling of dd dynamic reordering after reset when
	  previously enabled.
	+ removed system variable 'enable_reorder' at user level
	+ added option -r to the command 'process_model' to force
	  reordering and dumping of vars order.
	+ fixed docs accordingly

Thu 18 May 2006 Roberto Cavada <cavada@fbk.eu>
	* src/prop/propCmd.c
	BUG FIX #313
	Added PSL support to commands {check,add}_property (added option -s)

Mon 15 May 2006	Roberto Cavada <cavada@fbk.eu>
	* src/node/node.{c,h}
	BUG FIX #311
	Fixed lineno overflow

	* src/parser/parserUtil.c
	BUG FIX #318
	Fixed reentrancy of parsing function. Exception is catched and
	parser status is reset.

Fri 12 May 2006	Roberto Cavada <cavada@fbk.eu>
	* src/sim/{simClause.c,simInt.h}
	BUG FIX #175
	Fixed integer overflow. Still to be tested.

Tue 9 May 2006 Marco Roveri <roveri@fbk.eu>
	* src/parser/grammar.y
	FEATURE
	Allowed the declaration of array of modules.

Tue 11 Apr 2006	Roberto Cavada <cavada@fbk.eu>
	* src/fsm/sexp/SexpFsm.{h,c}
	FEATURE
	Changed class SexpFsm in order to provide a better mechanism to
	build FSMs on the fly.
	It is now possbile to derive a SexpFsm f2 from a SexpFsm f1, by
	changing parts of f2 and keeping f1 unchanged.

	Method create_from_members has been removed, and constructor
	makes use of the FlatHierarchy structure to pass FSM data.

	FlatHierarchy has been exptended to allow developers to copy, modify
	and derive an existing instance into another instance that will
	eventually be used to create a new FSM chain.

Tue 4 Apr 2006 Roberto Cavada <cavada@fbk.eu>
	NEW FEATURES
	+ Plugged in support for PSL at system level
	  - type checker supports now psl through a checker for PSL nodes
	  - psl formulae are still converted to a core-compliant parse tree for
	    model checking and dependency finding
	+ Provided a generic architecture to support grammar extensions

Mon 13 Feb 2006	Andrei Tchaltsev <tchaltsev@fbk.eu>
	* /src/sm/smMisc.c
	CODE REWRITING
	The batch mode was implemented as a list of functions which performed
	the required actions.
	Now the batch mode is a list of commands.


Mon 13 Feb 2006 Roberto Cavada <cavada@fbk.eu>
	* src/sm/smMain.c
	DOC FIX
	Fixed references to the zchaff home page.
	Thankt to Roopsha <roopsha@ece.utexas.edu> for reporting it.

Thu 12 Jan 2006 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/ltl/ltl.c
	BUG FIX
	Ltl_CheckLtlSpec function did not re-throw a caught exception but just
	returned.

Fri 7 Oct 2005 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/compile/type_checking/PredicateNormaliser.{h,c}
	NEW FEATURE
	A new class PredicateNormaliser is created (in src/compile).
	This class can take an symbolic expression (Sexp_ptr) and normalise
	predicates in it. A predicate-normalised expression is an expression
	whose not-boolean subexpression (predicate) cannot have boolean operands.
	Also a symbolic FSM class (src/fsm/sexp) was updated: now it has
	a new constructor which takes a symbolic FSM and a predicate-normaliser
	and returns a new symbolic FSM with all constrains (INIT, TRANS and INVAR)
	already normalised.

Fri 9 Sep 2005 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/sm/smMain.c
	NEW COMMAND LINE OPTION
	A new command line option "-old_div_op" is enabled.
	This option switches from the "new" ANSI C semantics of division and remainder
	operators to the old one used in NuSMV 2.3.1 and earlier.

Tue 24 May 2005	Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/enc/utils/AddArray.{h,c}
	NEW CLASS
	A new class AddArray is created in enc/utils module.
	This class is used during BDD evaluation to deal with arrays of ADD.
	Except ADD arrays primitives, this class also has functions to perform
	Word operations on arrays of boolean values.

	* src/sm/smMain.c
	NEW COMMAND LINE OPTION
	Added a new option "-word_mono". With this flag Words are encoded as
	a signle ADD. Without this flag Words are encoded as
	arrays of boolean values.

	* src/opt/{opt.h,optCmd.c,optInt.h}
	NEW VARIABLE
	A new variable encode_word_monolithic is added.  Its true value means that
	one ADD is used to encode a Word expression, whereas false value means
	that an array of ADD will be used (one for every bit).

Thu 21 Apr 2005 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/opt/{opt.h,optCmd.c,optInt.h}
	NEW VARIABLE
	A new system variable "output_word_format" is added.
	Possible values are 2, 8, 10, 16.
	This variable specifies how (in what base) Word numbers are printed out
	during traces outputting, counterexamples, etc.

Mon 4 Apr 2005 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/enc/bdd/BddEnc.c
	NEW FEATURE
	Word type is added to evaluation and some other parts of NuSMV.
	Further changes are expected soon.


Tue 15 Feb 2005 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/compile/type_checking
	Here is the first full version of the type checking package.

Wed 9 Feb 2005 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/opt/{opt.h,optCmd.c,optInt.h}
	NEW FEATURE
	There are two new environment variables:
	+ "backward_compatibility"
	+ "type_checking_warning_on"

Fri 14 Jan 2005 Roberto Cavada <cavada@fbk.eu>
	* src/be/{be.h,beRbcManager.c}
	* src/rbc/{rbc.h,rbcSubst.c}
	* src/enc/be/BeEnc.c
	NEW FEATURE
	Added logical level to BEs at BeEnc level

Tue 11 Jan 2005 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/parser/{grammar.y,input.l,symbols.h}
	NEW FEATURE
	Modified parser and lexer to deal with new type "word" and its associated
	operators (<<, >>, <<<, >>>, ::, [:]).

Mon 10 Jan 2005	Roberto Cavada <cavada@fbk.eu>
	* src/enc/be
	First shot of class BeEnc.

Wed 24 Nov 2004	Roberto Cavada <cavada@fbk.eu>
	* src/enc/base/{BaseEnc.c,BaseEnc.h,BaseEnc_private.h}
	* src/enc/base/{BoolEncClient.c,BoolEncClient.h,BoolEncClient_private.h}
	* src/enc/bool/{BoolEnc.c BoolEnc.h BoolEnc_private.h}
	NEW CLASSES
	+ BaseEnc is the abstract pure base class for all the encodings
	+ BoolEncClient is the abstract purebase class for all the encodings
	  that need an instance of BoolEnc to operate.
        + BoolEnc handles the booleanization of variables, and keeps track
	  of the var <-> bool encoding relation.


Tue 28 Sep 2004 Roberto Cavada <cavada@fbk.eu>
	NEW CLASS
	* src/compile/symb_table/{SymbLayer.c SymbLayer.h SymbTable.c SymbTable.h}
	Added class SymbTable, as a collection of Layers.



Mon 21 Nov NuSMV team <nusmv@fbk.eu>
	* === Released version 2.3.1 ===

Fri 18 Nov 2005 12:37:51 Roberto Cavada <cavada@fbk.eu>
	* Makefile.am configure.ac
	Integrated new zchaff helper directory
	Default used zchaff version is now 2004.11.15

Fri 18 Nov 2005 10:38:06 Roberto Cavada <cavada@fbk.eu>
	* ../zchaff
	Improved integration with zchaff.
	Like Minisat, zchaff is now compiled into a dedicated directory.
	scripts are provided to help the user to unpack, patch and compile
	zchaff.

Wed 16 Nov 2005 11:44:40 Simone Semprini <semprini@fbk.eu>
	* src/parser/psl/{pslConv.c,pslInt.h,pslNode.c,pslNode.h}
	BUG FIX
	Fixed forall expansion of PSL formulae, moving it earlier in the
	PSL compilation process.

Wed 16 Nov 2005 14:38:52 Roberto Cavada <cavada@fbk.eu>
	* src/utils/portability.{h,c} src/ltl/ltl2smv/main.c
	PORTABILITY
	Added
	- portability module to package utils
	- some code into ltl2smv/main.c for the sake of portability
	Now nusmv can be cross-compiled (at least for mingw...)

Wed 16 Nov 2005 09:40:32 Roberto Cavada <cavada@fbk.eu>
	* src/dd/dd.h
	BUG FIX
	Fixing a few wrong declations (param type add_ptr used instead
	of bdd_ptr).
	Thanks to Ittai Balaban <ittaibalaban@gmail.com> for reporting the
	bug.

Tue 15 Nov 2005 17:31:44 Roberto Cavada <cavada@fbk.eu>
	* configure.ac
	BUG FIX
	Fixed a few configuration tests about zchaff and minisat.

Tue 15 Nov 2005 15:02:02 Roberto Cavada <cavada@fbk.eu>
	* src/opt/opt.h
	FEATURE
	Minisat is the default sat solver when available (ported from 2.4)

Tue 15 Nov 2005 14:40:28 Roberto Cavada <cavada@fbk.eu>
	* Makefile.am
	BUG FIX
	'make dist' failed on automake >= 1.7, as generated files were
	expected to be distributed. (ported from 2.4)

Tue 15 Nov 2005 14:34:26 Roberto Cavada <cavada@fbk.eu>
	* src/sm/smInit.c
	BUG FIX
	The command 'reset' reset also ordering file variable to a
	default value. 'reset' does not modify input_order and
	output_order variables anymore. (ported from 2.4)

Tue 15 Nov 2005 13:48:57 Roberto Cavada <cavada@fbk.eu>
	* src/trace/plugins/{TraceXmlDumper.c,TraceXml_private.h}
	FEATURE
	The Xml dumper plugin dumps loops information now. (ported from
	2.4)

Tue 15 Nov 2005 13:48:12 Roberto Cavada <cavada@fbk.eu>
	* README.MiniSat Makefile.am configure.ac src/sm/smMain.c
	FEATURE
	NuSMV now uses Minisat-1.14.

Tue 15 Nov 2005 09:15:01 Roberto Cavada <cavada@fbk.eu>
	* src/cmd/cmdMisc.c src/sm/smMain.c
	BUG FIX
	When an error occurs during command execution (in interactive
	mode) and the flag on_failure_script_quit is set, nusmv exists now
	with the value 1. (ported from 2.4)


Mon 14 Nov 2005 15.30 Roberto Cavada <cavada@fbk.eu>
	* src/sm/smMain.c
	Added command line option "sat_solver" that allows to specify
	the SAT solver to be used in batch mode.
	Many thanks to Guido Wimmel <wimmel@in.tum.de> for providing
	the code to handle the option.

Thu 10 Nov 2005 09:08:31 Marco Roveri <roveri@fbk.eu>
	* src/ltl/ltl.c
	BUG FIX
	Fixed problem with COI when only LTL properties are present in the
	SMV file. The COI structure were wrongly initialized due to the
	push/pop mechanism to implement LTL BDD based model checking.
	The problem does not occur in the version 2.4.
	Thanks to Kevin Xuke <xk02@mails.tsinghua.edu.cn> for reporting
	this bug.

Tue, 13 Sep 2005 14:37:10  Roberto Cavada <cavada@fbk.eu>
	* src/parser/input.l src/parser/psl/psl_input.l
	PORTABILITY FIX
	Upcased yy_current_buffer for the sake of portability with
	different flex versions.

Fri 2 Sep 2005 10:21:25	Roberto Cavada <cavada@fbk.eu> SimoneSemprini <semprini@fbk.eu>
	* src/parser/psl/pslNode.c
	BUG FIX
	Fixed a bug that made expressions like LTL * SERE not correctly
	converted to LTL, as the tree was not travesed correctly by
	is_ltl and is_obe predicates.

Tue 30 Aug 2005 12:01:09 Roberto Cavada <cavada@fbk.eu>
	* src/enc/symb/Encoding.c src/utils/error.{c,h}
	BUG FIX
	The actual existance of vars ordering input file is now checked.
	Previously, when the file was not found stdin was used instead.

Mon 22 Aug 2005 08:29:07 Andrei Tchaltsev <tchaltsev@fbk.eu>
	* src/fsm/bdd/{BddFsm.c,BddFsmCache.c,bddInt.h}
	BUG FIX
	Fixed bug in BddFsm_get_strong_backward_image: the function
	bdd_fsm_get_backward_si_projection computed legal states/input
	without caring for invariants.
	In BddFsm_get_strong_backward_image I also removed unnecessary
	conjunctions with invariants since they are performed in
	BddFsm_get_weak_backward_image.
	Function bdd_fsm_get_backward_si_projection was fixed and renamed to
	bdd_fsm_get_legal_state_input (more understandable name). Also a
	variable backward_projection (which hold the result of
	bdd_fsm_get_backward_si_projection) was renamed to
	legal_state_input.



Fri 15 Jul 2005 17:00:00 NuSMV team <nusmv@fbk.eu>
	* === Released version 2.3.0 ===


Fri 15 Jul 2005 08:49:52 Roberto Cavada <cavada@fbk.eu>
	* src/fsm/bdd/BddFsm.c
	Bug fix: the command check_fsm did not consider already computed
	reachable states when computation of reachable was not requested
	by specifying the option -f or by executing the interactive
	command compute_reachable.

Thu 14 Jul 2005 15:58:26 Roberto Cavada <cavada@fbk.eu>
	* src/parser/psl/pslConv.c
	Bug fix, feature
	- Extended subtitution in replicator
	- Nested replicators with same IDs are no longer allowed.

Fri 8 Jul 2005 10:48:38 Simone Semprini <semprini@itc.it>
	* src/parser/psl/{pslConv.c,pslInt.h,pslNode.c}
	- Integration of last functionalities regarding [*] and [+]
	  standalone not top level into new architecture
	- Varius extension to already existing functions
	- Some bug fixes
	- Some old functions removed
	- Some new functions added (renamed extension of old ones)

Thu 7 Jul 2005 16:45:28 Roberto Cavada <cavada@fbk.eu>
	* src/parser/psl/
	Package refactoring.
	- splitted psl_expr int a few separate modules:
	  - pslExpr: interface for the parser (PslExpr)
	  - pslNode: low level functions over PslNode
	  - pslConv: high level functions over PslNode (convertions)
	  - pslPrint: printing feature over PslNode

	Files psl_expr.{h,c} have been removed.
	Since the interfaces are changed, other packages have been adjusted
	accordingly: prop, compile

Thu 7 Jul 2005 09:37:47 Roberto Cavada <cavada@fbk.eu>
	* src/parser/psl/psl_expr.c
	Feature: nested suffix implications are now supported.

Wed 6 Jul 2005 11:14:07 Simone Semprini <semprini@itc.it>
	* src/parser/psl/psl_expr.c
	Bug fixes, refactoring
	- Extension of is_handled family of functions to deal with
          [*count] stand-alone and with [*] and [+] that are stand-alone but
          not top level (e.g. a;[*];b)
	- Treatment of stand-alone [+] complete
	- Treatment of [*] and [+] that are stand-alone but not top level
	  to be implemented

Tue 5 Jul 2005 16:55:02 Roberto Cavada <cavada@fbk.eu> Simone Semprini <semprini@itc.it>
	* src/parser/psl/psl_expr.c
	Bug fixes, new feature
	- completed handling of * on propositionals
	- several bug fixes

Mon 4 Jul 2005 14:45:19 Roberto Cavada <cavada@fbk.eu> Simone Semprini <semprini@itc.it>
	* src/parser/psl/psl_expr.{h,c}
	Bug fixes, new feature
	- In function PslNode_is_handled_sere: case TKCOMPOUND merged
	  conjuctions and disjunction.
        - Renamed PslNode_has_handled_sere to PslNode_is_handled_psl
	- Extended PslNode_is_handled_psl to deal with whilenot and other sere-based
	  ops there were not dealt with.

Mon 4 Jul 2005 09:35:56 Simone Semprini <semprini@itc.it>
	* doc/user-man/{syntax.tex,app_grammar.tex}
	- PSL part of user-man uptodate with grammar in PSL parser.
	- app_grammar.tex extended witl PSL grammar

Mon 4 Jul 2005 08:53:47 Fabio Barbon <barbonfab@itc.it>
	* src/parser/psl/psl_expr.c
	Fixed star handling according to [*] versus [*0] difference.

Thu 30 Jun 2005 15:44:59 Simone Semprini <semprini@itc.it>
	* src/parser/psl/psl_expr.c
	1. Completed translation of star-free sere.
	2. Extended recognition of handled subset for sere with star count and
	   star on propositionals (to be tested)
	3. Implemented translation of star count sere (to be tested)
	4. Partially implemented translation of star on propositionals

Wed 29 Jun 2005 09:52:35 Roberto Cavada <cavada@itc.it>
	* src/sm/sm{Main,Misc}
	Added command-line option -ips.

Wed 29 Jun 2005 09:18:09 Marco Roveri <roveri@itc.it>
	* examples/psl-samples
	Porting to PSL of some SMV files from the previous distribution.

Tue 28 Jun 2005 09:48:01 Simone Semprini <semprini@itc.it>
	* doc/user-man/cmd
	Extensions to the user manual for PSL

Tue 28 Jun 2005 08:39:03 Roberto Cavada <cavada@itc.it>
	* src/parser/psl/spl_grammar.y
	A first cleanup of the psl grammar for the version being
	delivered.

Mon 27 Jun 2005 14:46:39 Roberto Cavada <cavada@itc.it>
	* src/parser
	Integrated the PSL parser from branch 2.4

Fri 24 Jun 2005 15:12:07 Fabio Barbon <barbonfab@itc.it>
	* src/parser/psl
	Added code to translate SERE int LTL

Fri 24 Jun 2005 09:46:46 Marco Roveri Roberto Cavada <roveri,cavada}@itc.it>
	* src/parser/psl/psl_grammar.y
	* src/parser/grammar.y
	Bug fix: Fixed the handling of the IN context while interactive mode.

Wed 22 Jun 2005 15:03:46 Roberto Cavada <cavada@itc.it>
	* nusmv/src/bmc/{bmcBmc.h,bmcCmd.c,bmcCmd.h}
	Added psl model checking to batch mode.

Wed 22 Jun 2005 14:03:52 Roberto Cavada <cavada@itc.it>
	* src/prop/propDb.c
	Those psl properties that cannot be converted to ltl nor ctl, are now
	allowed to be added to the prop db.
	No model checking is allowed on them, though.
	A warning will be issued when a property gets added under these
	conditions.

Wed 22 Jun 2005 13:34:26 Roberto Cavada <cavada@itc.it>
	* src/prop/{propInt.h,propProp.c}
	Added lazy evaluation to property conversion psl->{ctl,ltl}

Mon 20 Jun 2005 15:16:36 Roberto Cavada <cavada@itc.it>
	* src/mc/mcCmd.c
	Implemented a new command 'check_pslspec'

Fri 17 Jun 2005 12:23:26 Roberto Cavada <cavada@itc.it>
	* src/prop/{propDb.c,propProp.c}
	PSLSPECs are now pushed within the PropDB like all other specs.

Tue 14 Jun 2005 16:57:28 Marco Roveri <roveri@itc.it>
	* src/parser/psl/psl_expr.c
	Expanded pslltl2ltl to expand forall cases.

Mon 6 Jun 2005 13:34:52	Marco Roveri <roveri@itc.it>
	* src/parser/psl/psl_expr.c
	Fixed a problem in the expansion of next_event_a|e

Wed 4 May 2005 07:52:10	Roberto Cavada <cavada@itc.it>
	* src/parser/psl
	Added a  parser for PSL.



Thu May 05 2005 18:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.2.5 ===

Wed May 5 15:20:43 2005 Roberto Cavada <cavada@itc.it>
	* src/trace/TraceManager.{h,c}
	Added method is_plugin_internal to deal with a request by the
	group sa-nusmv.

Wed May 4 16:56:52 2005 Roberto Cavada <cavada@itc.it>, Andrei Tchaltsev <tchaltsev@itc.it>
	* src/sm/smMain.c: NEW FEATURE (BUG FIX #183)
	Option -load now sets the interactive mode.

Wed May 4 16:16:20 2005 Roberto Cavada <cavada@itc.it>,	Andrei Tchaltsev <tchaltsev@itc.it>
	* doc/tutorial/Makefile.am, doc/user-man/Makefile.am: BUG FIX #300
	Fixed incorrect indexing in the documentation.

Wed May 4 15:33:51 2005 Andrei Tchaltsev <tchaltsev@itc.it>
	* src/parser/parserUtil.c: BUG FIX
	Fixed a bug in generation of temporary files.

Tue May 3 14:38:37 2005 Roberto Cavada <cavada@itc.it>,	Andrei Tchaltsev <tchaltsev@itc.it>
	* src/simulate/simulateTransSet.c: BUG FIX
	A 'double' type was erroneously used instead of integer.

Tue May 3 14:35:43 2005 Andrei Tchaltsev <tchaltsev@itc.it>, Roberto Cavada <cavada@itc.it>
Tue Apr 19 17:55:49 2005 Marco Roveri <roveri@itc.it>
	* src/opt/optCmd.c, src/parser/parserUtil.c,
	* src/sm/smInit.c, src/sm/smMain.c, src/utils/utils.c: BUG FIX
	Fixed dealing with preprocessors, in particular, memory leaks,
	incorrect string copying, removal of temporary files.

Mon Apr 18 11:40:12 2005 Marco Roveri <roveri@itc.it>
	* src/opt/optCmd.c, src/sm/smMain.c: BUG FIX
	Fixed the setting of system variables for reachable states
	computation in interactive mode.

Tue Apr 12 10:16:27 2005 Marco Roveri <roveri@itc.it>
	* src/ltl/ltl2smv/lex.l: BUG FIX
	Fixed parsing of end-of-line under windows.
	Thanks to H. Peter Gumm for the bug report.

Thu Apr 7 11:16:48 2005 Roberto Cavada <cavada@itc.it>
	* src/simulate/{simulate.c, simulateTransSet.c,	simulateTransSet.h}:
	BUG FIX. Fixed wrong cast of double to int.
	Thanks to Alessandro Saiani for this bug report.

Tue Mar 22 17:28:25 2005 Marco Roveri <roveri@itc.it>
	* src/compile/compileCmd.c: BUG FIX #297
	This critical bug caused input constraints to be not included into a FSM
	during model construction.


Thu 17 Mar 2005 18:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.2.4 ===

Thu 17 Mar 2005 14:46:00 Roberto Cavada <cavada@itc.it>
        * src/simulate/simulateCmd.c: BUG FIX
	In commands pick_state and simulate, the option -a had an inverted
	semantics.

Tue 15 Mar 2005 17:35:32 Roberto Cavada <cavada@itc.it>
	* doc/user-man/{inter.tex,nusmv.sty}: Added description of new
	variables and options.
	* doc/user-man/{echo,write_order,source}.tex: Added description of new
	variables and options.

Mon 14 Mar 2005 13:42:48 Roberto Cavada <cavada@itc.it>
	* src/enc/symb/Encoding.c: Ported a bug fix back from
	version 2.2.99.
	* src/enc/{enc.c,encInt.h}: Ported a bug fix back from
	version 2.2.99.

Mon 14 Mar 2005 13:26:24 Roberto Cavada <cavada@itc.it>
	* src/bmc/{bmcInt.h,bmcUtils.h}: INTERFACE CHANGE
	Moved function Bmc_Utils_generate_and_print_cntexample from
	internal interface bmcInt to the bmc.utils module interface
	bmcUtils.h as required by SA porting.

Mon 14 Mar 2005 13:20:46 Roberto Cavada <cavada@itc.it>
	* configure.ac: Changed version number to 2.2.4

Mon 14 Mar 2005 13:20:06 Roberto Cavada <cavada@itc.it>
	* src/simulate/{simulate.c,simulateTransSet.c}: BUG FIX #295
	This fixes bug 295 *only* for 2.2.4, and must be ported to 2.2.99

Fri 11 Mar 2005 16:24:46 Roberto Cavada <cavada@itc.it>
	* src/sm/{smMain.c,smMisc.c}:
	* src/opt/{opt.h,optCmd.c,optInt.h}:
	* src/compile/compileCmd.c:
	* src/cmd/{cmdCmd.c,cmdMisc.c}:
	NEW FEATURES
	- New system variables:
	  - write_order_dumps_bits
          - on_failure_script_quits
	- New command options:
	   - Command write_order has options '-b'
	   - Command echo has options '-a' and '-o filename'

Fri 11 Mar 2005 16:17:17 Roberto Cavada <cavada@itc.it>
	* src/node/nodeWffPrint.c: BUG FIX
	Fixed a missing return statement. This bug has been back ported
	from 2.2.99

Tue 1 Mar 2005 12:29:51	Roberto Cavada <cavada@itc.it>
	* cudd-2.3.0.1/mtr/mtrGroup.c: BUG FIX CANDIDATE
	This is a bug fix candidate to allow groups to dissolve (required
	by 2.2.99) This has no effect on the 2.2.x series.

Tue 18 Jan 2005 14:56:13 Marco Roveri <roveri@itc.it>
	* src/fsm/bdd/BddFsm.c: BUG FIX
	Fixed problem in BddFsm_check_machine that wrongly printed out
	also inputs instead of only state variables while printing
	deadlock states.

Thu 30 Dec 2004 09:47:51 Gavin Keighren <keighren@fbk.eu>
	* src/rbc/rbcFormula.c: BUG FIX
	Fxed ordering of sons during generation of RBC's IIF nodes. This
	fix slightly reduces the number of RBC nodes and corresponding CNF
	indexes.

Wed 29 Dec 2004 12:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.2.3 ===

Tue 21 Dec 2004 15:49:44 Andrei Tchaltsev <tchaltsev@itc.it>
	* src/ltl/ltl.c: Fixed memory corruption due to uninitialized
	string.

15.12.2004 11:00 Andrei Tchaltsev <tchaltsev@itc.it>
	* examples/tcas/*.smv, examples/deadlock/*.smv
	* examples/ctl-ltl/*.smv, examples/abp/*.smv, examples/brp/*.smv:
	Fixed some old smv files from examples. They can be now parsed by
	the current version of NuSMV.

19.11.2004 15:53 Marco Roveri <roveri@itc.it>
        * src/ltl/ltl.c, src/ltl/ltl2smv/ltl2smv.c: Fixed memory leaks

19.11.2004 12:12 Roberto Cavada <cavada@itc.it>
	* src/bmc/bmcTableauPLTLformula.c: bug #289 the usage of past
	operators with input variables caused segfault to occur.

11.11.2004 13:51 Marco Roveri <roveri@itc.it>, Roberto Cavada <cavada@itc.it>
	* src/trace/Trace.c: Bug fix (access to freed memory was carried
	out).

10.11.2004 09:18 Marco Roveri <roveri@itc.it>
	* src/bmc/bmcDump.c: Fixed dumping of DIMACS.

09.11.2004 15:19 Andrei Tchaltsev <tchaltsev@itc.it>
	* src/be/beRbcManager.c: Removed redundant function
	Be_Cnf_RemoveDuplicateLiterals.

29.10.2004 16:02 Roberto Cavada <cavada@itc.it>
	* src/enc/bdd/BddEnc.c: Removed a too strong assertion.

29.10.2004 12:10 Andrei Tchaltsev <tchaltsev@itc.it>
	* src/prop/prop.h: Bug fix (wrong prototype of the function
	PropDb_print_all_status_type).

28.10.2004 18:18 Marco Roveri <roveri@itc.it>
	* src/sm/smInt.h: Bug fix (not conditioned include).

28.10.2004 17:43 Marco Roveri <roveri@itc.it>
	* src/dag/dag.h: Bug fix (wrong inot conditioned include).

27.10.2004 19:05 Roberto Cavada <cavada@itc.it>
	* src/compile/compileFlatten.c: Variables with a range 0..1
	are now coded as boolean, not as normal scalar variables with bits.
        Now ranges 0..1 are upcasted to "boolean" automatically.

06.10.2004 13:43 Andrei Tchaltsev <tchaltsev@itc.it>
	* src/rbc/rbcFormula.c, src/rbc/rbcCnf.c: Fixed memory leaks.

04.10.2004 17:00 Marco Roveri <roveri@itc.it>
	* src/compile/compileBEval.c: Fixed a bug in memoizing of
	formula while converting SEXP to BEXP.


14.09.2004 18:14 Andrei Tchaltsev <tchaltsev@itc.it>
	* src/ltl/*, src/ltl/ltl2smv: ltl2smv is changed to enable its
	invocation as a function, not as an external program.


02.09.2004 12:38 Andrei Tchaltsev <tchaltsev@itc.it>
	* src/bmc/bmcDump.c: Fixed bug in the DIMACS dumping of constant
	(true of false) formulas.


Wed 25 Aug 2004 11:02:00 Roberto Cavada <cavada@fbk.eu>
	* src/compile/compile.h, src/compile/compileBEval.c: Added
	memoizing to expr2bexpr conversion.
	* src/bmc/bmcInt.h, src/bmc/bmcPkg.c, src/bmc/bmcWff.c: Added
	memoizing to wff2nnf conversion.
	* src/sm/smInit.c: fixed de-initialization of package bmc.

Tue 17 Aug 2004 12:00:00 Marco Roveri <roveri@fbk.eu>
	* compile/compileFlatten.c: Fixed wrong flattening of defined
	  symbols within the Compile_FlattenSexpExpandDefine.




Thu 6 Aug 2004 12:00:00  NuSMV team <nusmv@fbk.eu>
	* === Released version 2.2.2 ===

Thu 5 Aug 2004 09:46:34  Roberto Cavada <cavada@fbk.eu>
	* node/nodePrint.c: Added cases XOR and XNOR to print_sexp.

Wed 4 Aug 2004 14:06:11   Andrey Tchaltsev <tchaltsev@fbk.eu> Gavin Keighren <keighren@fbk.eu>
	* docs/user-man/*: Added and fixed documentation.

Wed 4 Aug 2004 13:28:35  Roberto Cavada <cavada@fbk.eu>
        * options -k and -l, if specified more than once, make nusmv emit an error
          message and go back to the shell.
        * checked the use of mutually exclusive options -v and -p in bmc_simulate.
        * Filename patterns like @@@@k are now correcly expanded as @@k.
          Ahead of this fix, @k was expanded at first.
        * When unknown options are used with bmc_simulate, the command execution
          is now stopped.
        * Fixed unregistered traces in check_invar_bmc_inc and check_invar_bmc.
        * Other minor fixes.

Wed 4 Aug 2004 10:10:40  Roberto Cavada <cavada@fbk.eu>
	* Factorized counterexample printing code in bmc
	* In bmc, during checking commands current bounds and the
	specification were printed out if neither counter-example nor
	proof was found. Now only bounds are printed out to provide feedback
	to users, and the specification text is printed only when the
	verbosity level is greater than two.

Tue 3 Aug 2004 17:24:37  Roberto Cavada <cavada@fbk.eu>
	* Fixed memory leaks in bmc.
	* Fixed a bug in BMC commands options handling.

Tue 3 Aug 2004 14:23:51  Andrey Tchaltsev <tchaltsev@fbk.eu>
	* New function in module 'be'. For a given be index the function
	returns an associated cnf index, and viceversa.

Mon 2 Aug 2004 14:34:24  Roberto Cavada <cavada@fbk.eu>  Gavin Keighren <keighren@fbk.eu>
        * The tutorial contains now a section about complete invariant
	checking.
	* Fixed description of system variable 'ag_only_search' in the
	user manual.

Thu 29 Jul 2004 14:43:41  Roberto Cavada <cavada@fbk.eu>
	* enc/symb/Encoding.c: Fixed a problem that occurred in bmc when
	determinization variables were introduced, and variable ordering
	file was used.

Thu 29 Jul 2004 13:30:58  Roberto Cavada <cavada@fbk.eu>
	* enc/symb/Encoding.{h,c}: Added method is_symbol_determ_var to
	class Encoding.

Wed 28 Jul 2004 15:33:04  Roberto Cavada <cavada@fbk.eu>
	* bmc/*: Bug fix #275. Arrays variables are now allowed to occur in
	formulae, but only if they are boolean arrays.

Wed 28 Jul 2004 11:31:53  Roberto Cavada <cavada@fbk.eu>
	* enc/symb/Encoding.c: Bug fix #273. When grouping variables,
	variables for determinization were missing. This made the encoding
	with ordering file possibly buggy.

Tue 27 Jul 2004 12:12:11  Andrey Tchaltsev <tchaltsev@fbk.eu>
	* sat/* : Added support for incremental sat solvers.
	* bmc/* : Added algorithms for incremental bmc.

Tue 27 Jul 2004 12:12:11  Roberto Cavada <cavada@fbk.eu>
	* bmc/*: Adapted non incremental bmc to the new sat interface.
	* bmc/*: Added een/sorensson algorithm for non incremental invar
 	checking.

Mon 19 Jul 2004 12:05:52  Marco Roveri <roveri@fbk.eu>
	* mc/mcMc.c, ltl/ltl.c: fixed missing intersection with fair
	states before invoking counter-example extraction.

Mon 19 Jul 2004 11:54:09  Roberto Cavada <cavada@fbk.eu>
	* compile/compileFlatten.c: Fixed a bug that occurred when
	instantiating more than once a variable whose range contained one
	value only.

Thu 15 Jul 2004 15:52:54  Roveri <roveri@fbk.eu> Cavada <cavada@fbk.eu>
	* bmc/bmcConv.c: bexpr -> be conversion caches results. This makes
	convertion more efficient.


Wed 14 Jul 2004 14:11:47 Marco Roveri  <roveri@fbk.eu>
	* bmc/bmcSat.c: Fixed wrong allocation when sat solvers but SIM
	were called


Tue 13 Jul 2004 14:02:14 Roberto Cavada  <cavada@fbk.eu>
	* sm/smMist.c: Fixed behaviour of option -r in batch mode


Wed 23 Jun 2004 12:00:00 Roberto Cavada  <cavada@fbk.eu>
	* Released minor version 2.2.1


Mon 21 Jun 2004 16:16:51  Andrey TChaltsev <tchaltsev@irs.itc.it>  Cavada <cavada@irs.itc.it>
	* Added platform-dependant suffix when searching for executable
	files


Thu 17 Jun 2004 12:00:00 Roberto Cavada  <cavada@fbk.eu>
	* compile/compileFlatten.c: Fixed ordering of insertion of vars.

	* enc/bdd/BddEnc: Changed initial variables index: one instead of
	zero. This makes dynamic reordering fully working.

	* compile/compileFlatten.c: Fixed one-value range management.

	* examples/m4: Added m4 examples provided by Villemaire.

	* sm/smMisc.c: Realigned -o option behaviour wrt what version 2.1
	did.


Tue 15 Jun 2004 09:59:53  Roberto Cavada  <cavada@fbk.eu>
	* compile/compileCheck.c: Fixed missing type ARRAY when checking
	for input vars in assignements.
