Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 32.402.290 Times

ccovinstrument 0.20

  Date Added: February 16, 2010  |  Visits: 758

ccovinstrument

Report Broken Link
Printer Friendly Version


Product Homepage
Download (72 downloads)



ccovinstrument package contains instruments C/C++ code for test coverage analysis. SYNOPSIS ccovinstrument code.c > covcode.c ccovinstrument code.c [-f] -o covcode.c [-e errs] -f instrument fatal code as well as normal code Scans C/C++ source (before cpp) and inserts trip-wires in each code path to record execution. A number of error prone coding styles are also detected. Many of these ideas came from study of the highly regarded perl5 source code (and from my own coding experience. This approach (or almost any approach) to coverage analysis is NOT fullproof! Just because you exercise every code path does NOT mean you have exercised all possibilities. For example, consider the following code: char fetch_char(int xx) { static char *string = "Dr. Zorph Trokien"; if (xx < 0) { return 0; } else { return string[xx]; } } Unfortunately, you still have to be somewhat intelligent about designing your test scripts. However, assuming youre clever, you can use this tool to know when to stop writing more tests. Thus, thereby achieving test coverage. CCov SOURCE DIRECTIVES /* CCov: off */ Turns off coverage instrumentation. You probably dont want to analyze debugging code. /* CCov: on */ Turns on coverage instrumentation. /* CCov: jump if for do while else return */ Adds to the list of identifiers that cause a change in execution flow. In addition to the usual keywords, macros used by the perl core and XSUBs are included by default. /* CCov: fatal myexit croak panic */ Adds to the list of identifiers that cause a fatal exception. Instrumentation of these blocks is turned off by default. (You usually want to make sure the code is suppose to work works before you make sure that the code that isnt support to work works.) HOW DOES IT WORK? The instrumenter processes source code before it is seen by cpp. This helps you isolate your testing. Usually, you want to do test analysis on each library/application individually. A global analysis would cause you to test new code and all the libraries you are using (for every single application!). The instrumentor does not really use a lexer (tokenizer). The techniques are probably more similar to image processing than parsing. As you might imagine, this doesnt work in the general case. CCov tries to be forgiving, but it simply doesnt understand obfuscated code. Rather than calling it a bug, I think its an significant feature. Simple code probably has fewer bugs than complex code. Not only is this tool aimed at test coverage analysis, it is also helps you improve your coding style. There are still some rough edges, but I am mostly satisfied with the degree of strictness..

Requirements: No special requirements
Platforms: Linux
Keyword: Analysis C C++ Ccov Ccovinstrument Code Code For Coverage Libraries Programming Test Test Coverage Work
Users rating: 0/10

License: Freeware Size: 15.36 KB
USER REVIEWS
More Reviews or Write Review


CCOVINSTRUMENT RELATED
Development Editors  -  VbCNet Code Parser For Html 1.0
VbCNet Code Parser For Html is a small, simple, easy to use application specially designed to help you convert .NET or C# code to HTML with just a press of the mouse. Basically this tool will convert your VB.net, C#.net Code to HTML code with...
 
Development Editors  -  C/C++ Compiler for M16C Series and R8C Family 6.00 Release 00
The C/C++ Compiler for M16C Series and R8C Family package includes the following embedded system development tools: C/C++ compiler : NC30 Optimizing ANSI C compiler with extensions for embedded systems. Assembler : AS30 Produces object code...
 
Development Editors  -  C/C++ Compiler Package for RX Family 1.02 Release 00
The C/C++ Compiler Package for RX Family package includes the following embedded system development tools: C/C++ compiler ANSI-compliant. Language specification supports exception processing and template functions according to ANSI/ISO standards....
 
Development Editors  -  C/C++ Compiler for SuperH Family 9.04 Release 01
The C/C++ Compiler for SuperH Family is an optimising ANSI C and ANSI C++ compiler for the SuperH embedded RISC microprocessor family. The SH C package includes a compiler, assembler and linker is supplied as part of the High-performance Embedded...
 
Development Editors  -  C/C++ Compiler for M32R Family 5.01 Release 01
The C/C++ Compiler for M32R Family package includes the following embedded system development tools. C/C++ compiler : cc32R Optimizing ANSI C and ISO C++ compiler with extensions for embedded systems. Assembler : as32R Produces object code for...
 
Development Editors  -  C/C++ Compiler for H8SX, H8S, H8 Family 7.00 Release 00
The H8 C/C++ Compiler is an optimizing ANSI C and ANSI C++ compiler for H8, H8S, H8SX family microcontrollers. The package includes a compiler, assembler, linker. A variety of optimisation features allow you to generate highly optimised PROMable...
 
Code Management Tools  -  Jacobe Code Beautifier 7.3
Jacobe is a configurable code beautifier for the JavaTM programming language (edition 1.5). It is possible to let Jacobe print your Java code according to the widely used layout rules of Sun Microsystems or customize it to your own standards....
572 KB  
Libraries  -  C/C++ Headers New
C/C++ Headers is a package that has been created in order to simplify the hard job of projecting and encoding of programs. Now you can make use of this handy and accessible tool to further improve your development process.
 
Education  -  pseint 32.20120418
PSeInt is a pseudo-code interpreter for spanish-speaking programming students. Its main purpose is to be a tool for learning and understanding the basic concepts about programming and applying them with an easy understanding spanish pseudocode.
2.48 MB  
Programming  -  NCurses Development Kit for C++ 0.0.1 Alpha4
NCurses Development Kit for C++ provides a set of widgets for text user interface like menubars, popup menus, various dialog boxes, and controls (push buttons, check buttons etc.). Using this library you can easy create a powefull console program...
77.82 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 3.15.3
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB