Testwell CTC++

[Français][Deutsch]

Testwell CTC++: Classical Host-Target Arrangement

Typically for targets having
  • file system under it
  • Some kilos of available RAM
With this arrangement, we have
  • runtime library to be added (2-3K typically),
  • integer counters
  • transfer via file, file handle, serial port or proprietary interface

Target library

A target library consisting of 3 files have to be compiled and linked to the application. This linking can be arranged to transparent or automatically

Initiating data transfer

Transfer can be stimulated by atexit routine, or some other handy arrangements. Technically a function ctc_send_data() in target library gets just called.

Data transfer

Data transfer is done in one file of the target library, the typical flow is like:
  if ((fp = fopen("MON.txt", "a")) != NULL) {
    while ((c = ctc_get_character()) > 0) {
      fputc(c, fp);
    }
    fclose(fp);
  } 
Datastream can be transferred whatever you like. fopen("/dec/serio001","a") or over network or through a proprietary channel.

Host receive data

An application hostmain updates the coverage files from e.g.
  • Asynchronous, from a text file "MON.txt", hostmain < MON.txt
  • Synchronous, from e.g. a serial port, hostmain < /dev/ttyS0
Then proceed as usual in a host environment.

How the metrics are generated

The code gets instrumented with the "ctc" compiler frontend, per default it increments then file static array elements.

How the metrics are collected on the Host

CTC++ accumulated per default coverage data a file "MON.dat" on the host. This is used for input of the report generating tools.

Performances

Usually we calculate with 20%, depends very much on coding style and used cross compiler. With the Linux kernel in multicondition mode we got 16% performance impact (test done in 100sec, now in 116sec). Some desktop applications had only 7% performance impact, on some weird cross-compilers we had at max. 53% until now...

[Back]


last updated: 14.05.2008

© 2008 Verifysoft Technology
CTA++, CTC++, CMT++ and CMTJava are products of Testwell Oy, Tampere (Finland)
all other trademarks of this site are the property of their respective owners.