SocialTwist Tell-a-Friend

Comments --

Add

New TesterTools – GCT

GCT was my third coverage tool.  It instruments C code in a source-to-source translation, then passes the instrumented code to a compiler.  Its first major use was on a Unix kernel, so it is suitable for measuring the coverage of embedded systems.
In addition to branch and multiple-condition coverage, it also has boundary-condition and loop coverage. 

SocialTwist Tell-a-Friend

Comments --

Add

New TesterTools – IOzone

IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.
Iozone is useful for performing a broad filesystem analysis of a vendor’s computer platform. The benchmark tests file I/O performance for the following operations:
Read, write, re-read, re-write,

SocialTwist Tell-a-Friend

Comments --

Add

New TesterTools – CLOC

CLOC counts blank lines, comment lines, and physical lines of source code in many programming languages.  It is written entirely in Perl with no dependencies outside the standard distribution of Perl v5.6 and higher (code from some external modules is embedded within cloc) and so is quite portable.   CLOC is known to run on many

Advertisment
My Twitter Friends
Friends: 939 Followers: 394
SocialTwist Tell-a-Friend

2

Comments

Add

New TesterTools – GCT

GCT was my third coverage tool.  It instruments C code in a source-to-source translation, then passes the instrumented code to a compiler.  Its first major use was on a Unix kernel, so it is suitable for measuring the coverage of embedded systems.

In addition to branch and multiple-condition coverage, it also has boundary-condition and loop coverage.  I find those useful and inexpensive types of coverage, and I’m disappointed that more coverage tools don’t include them.

It also contains a type of coverage we used for evaluating stress testing of a multiprocessor kernel.

However: GCC was written in 1992 using the GNU C compiler (gcc) as a base.  For reasons too boring to explain, it still has most of the original GCC code in it.   The practical effect of that is that porting GCT is not as trivial as it should be. Although there are Linux and Solaris ports, I do not have appropriate configuration files for them.  (If you do, please send them to me.)  There are no ports to any version of Windows or other non-Unix operating systems.  I would be stunned to see one.

Since GCT is based on gcc 1.x, it does not handle some gcc 2.x constructs.  There has been a mostly-completed port from gcc 1.x to 2.x, but I have not used it myself.

GCC has no GUI for looking at coverage results.  The output is formatted like error messages from a compiler.  It comes with an Emacs mode (based on M-x next-error) that I rather liked.  But non-Emacs users are left out in the cold – as they are in so many things. :)

View TesterTools dedicated page for this tool.

SocialTwist Tell-a-Friend

0

Comments

Add

New TesterTools – IOzone

IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.

Iozone is useful for performing a broad filesystem analysis of a vendor’s computer platform. The benchmark tests file I/O performance for the following operations:

Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write

While computers are typically purchased with an application in mind it is also likely that over time the application mix will change. Many vendors have enhanced their operating systems to perform well for some frequently used applications. Although this accelerates the I/O for those few applications it is also likely that the system may not perform well for other applications that were not targeted by the operating system. An example of this type of enhancement is: Database.

Many operating systems vendors have tested and tuned the filesystem so it works well with databases. While the database users are happy, the other users may not be so happy as the entire system may be giving all of the system resources to the database users at the expense of all other users. As time rolls on the system administrator may decide that a few more office automation tasks could be shifted to this machine.

The load may now shift from a random reader application (database) to a sequential reader. The users may discover that the machine is very slow when running this new application and become dissatisfied with the decision to purchase this platform. By using Iozone to get a broad filesystem performance coverage the buyer is much more likely to see any hot or cold spots and pick a platform and operating system that is more well balanced.

Benchmark Features:

  • ANSII C source
  • POSIX async I/O
  • Mmap() file I/O
  • Normal file I/O
  • Single stream measurement
  • Multiple stream measurement
  • Distributed fileserver measurements (Cluster)
  • POSIX pthreads
  • Multi-process measurement
  • Excel importable output for graph generation
  • Latency plots
  • 64bit compatible source
  • Large file compatible
  • Stonewalling in throughput tests to eliminate straggler effects
  • Processor cache size configurable
  • Selectable measurements with fsync, O_SYNC
  • Builds for: AIX, BSDI, HP-UX, IRIX, FreeBSD, Linux, OpenBSD, NetBSD, OSFV3, OSFV4, OSFV5, SCO OpenServer, Solaris, MAC OS X, Windows (95/98/Me/NT/2K/XP)
  • Download pdf document of this tool here.
  • View TesterTools dedicated page for this tool.

    SocialTwist Tell-a-Friend

    0

    Comments

    Add

    New TesterTools – CLOC

    CLOC counts blank lines, comment lines, and physical lines of source code in many programming languages.  It is written entirely in Perl with no dependencies outside the standard distribution of Perl v5.6 and higher (code from some external modules is embedded within cloc) and so is quite portable.   CLOC is known to run on many flavors of Linux, Mac OS X, AIX, Solaris, IRIX, z/OS, and Windows.  (To run the Perl source version of cloc on Windows one needs ActiveState Perl 5.6.1 or higher, or Cygwin installed.  Alternatively one can use the Windows binary of cloc generated with perl2exe to run on Windows computers that have neither Perl nor Cygwin.) cloc contains code from David Wheeler’s SLOCCount, Damian Conway and Abigail’s Perl module Regexp::Common, and Sean M. Burke’s Perl module Win32::Autoglob,

    cloc has many features that make it easy to use, thorough, extensible, and portable:

    1. Exists as a single, self-contained file that requires minimal installation effort—just download the file and run it.

    2. Can read language comment definitions from a file and thus potentially work with computer languages that do not yet exist.

    3. Allows results from multiple runs to be summed together by language and y project.

    4. Can produce results in a variety of formats: plain text, XML, YAML, comma separated values.

    5. Can count code within compressed archives (tar balls, Zip files, Java .ear files).

    6. Has numerous troubleshooting options.

    7. Handles file and directory names with spaces and other unusual characters.

    8. Has no dependencies outside the standard Perl distribution.

    9. Runs on Linux, FreeBSD, NetBSD, Mac OS X, AIX, HP-UX, Solaris, IRIX, and z/OS systems that have Perl 5.6 or higher.  The source version runs on Windows with either ActiveState Perl or cygwin.  Alternatively on Windows one can run the Windows binary which has no dependencies.

    View TesterTools dedicated page for this tool.