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 29.895.175 Times

ccovinstrument 0.20

  Date Added: February 16, 2010  |  Visits: 722


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
More Reviews or Write Review

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, 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  
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
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  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.11.0
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...
2.73 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