Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ic3 bugs: removed bugs, added new features #11

Merged
merged 39 commits into from
Jun 29, 2017
Merged

Ic3 bugs: removed bugs, added new features #11

merged 39 commits into from
Jun 29, 2017

Conversation

eigold
Copy link
Contributor

@eigold eigold commented May 29, 2017

  • Replaced option '--prop' with '--property'. Modified the way a property is identified in
    '--property prop_ind'
  • Updated the regression tests
  • Removed a bug displaying itself when solving examples with constraints
  • Removed a performance bug by modifying the way CTG-states are lifted
  • Improved the way CTG-states are lifted in the presence of constraints
  • Added the code emulating Bradley's IC3
  • Modified the way obligations are prioritized in a queue
  • Modified the way clauses are pushed forward if no new inductive
    clauses are generated (a trivial time frame)
  • Added an option to print out the circuit in the text version of the
    aiger format (extension .aag)

@eigold eigold requested a review from mgudemann May 29, 2017 20:53
Copy link
Contributor

@mgudemann mgudemann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this currently does not compile due to the following errors

ccache clang++ -c -MMD -MP -std=c++11 -Wno-write-strings -D __STDC_LIMIT_MACROS -D __STDC_FORMAT_MACROS -O3 -I . -I build_prob -I seq_circ -I minisat -I ../../../cbmc-git/src -I ../ -Wall -pedantic -Werror  -o r6ead_input.o r6ead_input.cc
m4y_aiger_print.cc:179:20: error: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Werror,-Wformat]
  fprintf(fp,"%d ",N->ninputs);
              ~~   ^~~~~~~~~~
              %zu
m4y_aiger_print.cc:180:20: error: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Werror,-Wformat]
  fprintf(fp,"%d ",N->nlatches);
              ~~   ^~~~~~~~~~~
              %zu
m4y_aiger_print.cc:223:20: error: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Werror,-Wformat]
 printf("i = %d\n",i);
             ~~    ^
             %zu
m4y_aiger_print.cc:225:28: error: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Werror,-Wformat]
 printf("G.ninputs = %d\n",G.ninputs);
                     ~~    ^~~~~~~~~
                     %zu
4 errors generated.

having commits that do not compile are difficult if bisecting is necessary

@eigold
Copy link
Contributor Author

eigold commented Jun 5, 2017 via email

@eigold
Copy link
Contributor Author

eigold commented Jun 5, 2017 via email

@mgudemann
Copy link
Contributor

@eigold I also had to adapt

    if (var_num >= Nodes.size()) {
      p();
      printf("var_num = %zd\n",var_num);
      printf("Nodes.size() = %zu\n",Nodes.size());
      exit(100);
    }

to get ebmc to compile. In general, shouldn't this all be C++ style I/O?

@mgudemann
Copy link
Contributor

@eigold could you please rebase this onto master? I have merged the PR for the messaget API now.

@eigold
Copy link
Contributor Author

eigold commented Jun 15, 2017 via email

@mgudemann
Copy link
Contributor

hm, I still get

bison -y -v $flags -pyyvhdl -d parser.y -o vhdl_y.tab.cpp
ccache clang++ -c -MMD -MP -std=c++11 -O2 -Wall -pedantic -Werror -I ../../../cbmc-git/src -o verilog_language.o verilog_language.cpp
if [ -e vhdl_y.tab.hpp ] ; then mv vhdl_y.tab.hpp vhdl_y.tab.h ; else \
        mv vhdl_y.tab.cpp.h vhdl_y.tab.h ; fi
ccache clang++ -c -MMD -MP -std=c++11 -O2 -Wall -pedantic -Werror -I ../../../cbmc-git/src -o vhdl_y.tab.o vhdl_y.tab.cpp
verilog_language.cpp:165:3: error: use of undeclared identifier 'print'
  print(9, "Synthesis "+module);
  ^
1 error generated.
../../../cbmc-git/src/common:170: recipe for target 'verilog_language.o' failed
make[1]: *** [verilog_language.o] Error 1
make[1]: Leaving directory '/home/guedemann/source/diffBlue/hw-cbmc/src/verilog'
Makefile:9: recipe for target 'verilog' failed
make: *** [verilog] Error 2
make: *** Waiting for unfinished jobs....
ccache clang++ -c -MMD -MP -std=c++11 -O2 -Wall -pedantic -Werror -I ../../../cbmc-git/src -o vhdl_lex.yy.o vhdl_lex.yy.cpp
parser.y:56:15: error: no member named 'print' in 'vhdl_parsert'
  vhdl_parser.print(1, tmp, -1, source_location);
  ~~~~~~~~~~~ ^

but I can locally rebase onto master and do not get these errors any more. Did you push your changes?

@eigold
Copy link
Contributor Author

eigold commented Jun 18, 2017 via email

@eigold
Copy link
Contributor Author

eigold commented Jun 18, 2017 via email

@mgudemann
Copy link
Contributor

yes, please get latest CBMC

@mgudemann
Copy link
Contributor

mgudemann commented Jun 18, 2017 via email

@eigold
Copy link
Contributor Author

eigold commented Jun 18, 2017 via email

@mgudemann
Copy link
Contributor

mgudemann commented Jun 19, 2017 via email

@mgudemann
Copy link
Contributor

mgudemann commented Jun 19, 2017 via email

@eigold
Copy link
Contributor Author

eigold commented Jun 19, 2017 via email

@eigold
Copy link
Contributor Author

eigold commented Jun 20, 2017 via email

@mgudemann
Copy link
Contributor

mgudemann commented Jun 24, 2017 via email

@kroening
Copy link
Member

Is this PR ready to be merged before the release?

@mgudemann
Copy link
Contributor

Is this PR ready to be merged before the release?
what is the target date for the release?

There's a few things that should be done at minimum

  • get rid of C-style I/O
  • remove things like
    char Buff[MAX_NAME]; 
  • currently it fails for non .sv files, for exampel .smv with
terminate called after throwing an instance of 'std::invalid_argument'
  what():  stoi
fish: “ebmc -ic3 test.smv” terminated by signal SIGABRT (Abort)

there should be an error message for unsupported netlist formats

@eigold
Copy link
Contributor Author

eigold commented Jun 28, 2017 via email

@eigold
Copy link
Contributor Author

eigold commented Jun 28, 2017 via email

@mgudemann
Copy link
Contributor

mgudemann commented Jun 28, 2017 via email

@eigold eigold merged commit 84761a1 into master Jun 29, 2017
@eigold
Copy link
Contributor Author

eigold commented Jun 30, 2017 via email

@mgudemann
Copy link
Contributor

mgudemann commented Jun 30, 2017 via email

@eigold
Copy link
Contributor Author

eigold commented Jun 30, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants