And now, here it is: Release 0.7 of PolyBoRi!
Of course, we had to change a few things since the first release candidate I mentioned last time. For instance, some paragraphs of the README file and the tutorial had to be clarified. Also, the example code listings of the latter could now be used instantly, because the multiplication character * was replaced by a nice-looking (but unusable) asterisk symbol.
But there was one real bug. Due to a mistake during refactoring the member function .nNodes() (.n_nodes() from python) for counting the decision-diagram nodes of our internal data structures had miscounted by two. It did not influence the algorithms, so the original (black box-style) tests were not able to detect this mistake. Again it was a unit test (this time from the Sage interface), pointing out this problem.
The conclusion arising is as follows: extensive testing is mandatory. Best tests came from people with no or little knowledge about our internals. Back in high-school, we had called this Freddy testing, named after a classmate, who was fond in finding corners of our implementations. He was very creative in pushing obviously wrong buttons. Successful software development needs several Freddys.