C++TESK Testing ToolKit was demonstrated at the DATE 2012 University Booth exhibition held in Dresden in 13-15 March. The presentation raised interest of researchers and practitioners from different countries including Austria, Estonia, Germany, etc.

C++TESK Testing ToolKit v1.0.18 has been released. The following things have been done.

Virtual method invariant() has been added to the message class

Macros for declaring arrays of interfaces have been implemented (CPPTESK_DECLARE_{INPUT|OUTPUT}_ARRAY, CPPTESK_DECLARE_{INPUT|OUTPUT}_ARRAY_2D, etc.)

New macros for declaring/defining interface adapters have been added (CPPTESK_DEFAULT_{INPUT|OUTPUT}_ADAPTER, CPPTESK_SET_DEFAULT_{INPUT|OUTPUT}_ADAPTER and CPPTESK_{DECLARE|DEFINE}_DEFAULT_{INPUT|OUTPUT}_ADAPTER)

Macros CPPTESK_SET_{IFACE|INOUT}_ADAPTER have been removed

New macros for randomized generation have been implemented (CPPTESK_RANDOM(_{WIDTH|FIELD|BITS|RANGE})_EXCLUDING)

Automatic tracking of interface usage coverage has been included

Macro CPPTESK_ADD_NONRANDOMIZABLE_FIELD has been added

Macros CPPTESK_WITH_PROBABILITY, CPPTESK_ELSE_WITH_PROBABILITY and CPPTESK_ELSE have been implemented

Callbacks onCycleBegin() and onCycleEnd() have been added

Further improvement of the Eclipse IDE plugin has been made

Several bugs in the error diagnostic subsystem have been fixed

CPPTESK_SHORT_NAMES is activated automatically if CPPTESK_SHORT_SHORT_NAMES is defined

Within the given project a Knowledge Base support was developed. The Knowledge Base infrastructure allows users to keep results of unsafes analysis directly through the Statistics Server Web interface. Then these stored results are automatically applied to new uploaded unsafes in depend on different chosen comparison criteria. This significantly simplifies and speed ups the whole verification results analysis and makes the Linux Driver Verification project more attractive for end-users.

Also several minor issues of the Statistics Server related with usability and speed of page generation were resolved during Google Summer of Code 2011. One can see them here: #570, #1168, #1205, #1265, #1363, #1364, #1537, #1538

A Knowledge Base branch was merged to the master branch of the Linux Driver Verification project. It was successfully integrated with other tools, so stable Knowledge Base functionality is available beginning from 4ca264d.