The Toolset

Known Defects and Limitations

It is our policy to be open about existing defects in our own products and to provide workarounds if possible. This list will be updated as necessary. The product itself may occasionally be subjected to patch releases if necessary which will be appropriately documented.

Since its first release in 1999, the toolset parsing engine has accumulated a released defect (i.e. fault that failed) density of only 0.26 per 1000 lines of source code. This is one of the lowest ever achieved and is about 3 times better than that of CDIS, one of the components of the London Heathrow air-traffic control system, itself one of the most reliable systems ever produced, (Pfleeger and Hatton (1997)).

No defect has ever re-occurred.

D flags

(Internal DSCT111999070601). If a D flag is entered under the Behaviour -> Parsing options -> Set -D flags menu with a value in quotes and that value contains blanks, the interface does not display anything. For example -DBLOB=1 and -DBLOB="1" are OK but -DBLOB=" 1 " is not.

Workaround: Re-enter as -DBLOB="@1@". This turns out to be a particularly difficult portability problem for argument passing. It should be resolved in a later release.

Slow GUI response on big files (Windows)

On some versions of Windows, analysing a file does not appear to have any effect immediately. Please have patience, it takes about 15 seconds to clear the main text window if a large file is displayed on some versions of Windows for some reason, (it is near instantaneous under both Linux and Solaris). The button will remain depressed until the analysis is finished. We have no workaround at the moment.

Slow response on "Behaviour->Set locations->Output files ..." (Windows)

If the currently selected directory location for output files contains a large number of files, some versions of Windows take a considerable time to figure this out - again of the order of 15-20 seconds if there are say 1500 files in this directory. The widget only appears when the listing is complete so again please be patient.

Earlier Releases Only

Blanks in names

(Internal DSCT111999070501). If a directory or sub-directory contains a blank on a Unix system, the interface may exhibit strange behaviour. (It is not alone in this, many other products also screw-up.) It is not a problem for Windows releases because Windows returns the ~ notation so that other parts of Windows don't screw up, (with only partial success as can be seen by trying the Open menu of the EDIT program in an MS-DOS window).

Workaround: Don't have blanks in directory names on Unix machines including Linux of course. Most combinations do work but we don't guarantee it.

NT installation problems

We have had one or two reports of the licensing system failing to install properly on some versions of NT. The symptom is that it will only allow a full licence and will not allow evaluation, (no, this is NOT deliberate :-) ). We suspect it is something to do with permissions. We do an internal trial load on one of our own NT 4.0 machines in both Administrator and normal User modes without problem so we don't know why it happens although it has certainly not increased our general respect for NT.

Workaround: Please contact us and we will try and sort it out.

Macro parenthesisation in SCT 1.1b

There is a documentation error for MISRA rule 96. The message says function-like macros should be parenthesised but this gets issued for all macros, so it is over-zealous. The rule is attached to the correct message in SCT 1.1c.

Size restriction on pathologically big files on the Sparc version

For some very large tokens, the Sparc version of the lexer overflows. This occurs on two rather unusual files in FIPS160. It is not expected to affect many programs and we are working on re-writing this part of the engine to avoid the problem. The Linux and Windows versions are fine.

Personality file switches off some messages, (SCT2.2)

A defect was introduced in the 2.2 release whereby the use of a personality file without any -D flags being set would shut off some messages. The workaround is to add a -DWORKAROUND macro definition in Behaviour->Parsing options->Set -D flags. This is fixed in SCT2.2a.