Last updated: 03 Aug 2001 This WebPage: http://www.swbs.com Alternate Address: http://www.softwareblacksmiths.com
Linux (with OS/2 via webDownload).
They analyze existing C, C++, or
Java programs
and generate caller/called tree diagrams, class hierarchy trees,
class inheritence/containment reports,
identifier cross-references,
reformat source or action-diagram listings, count code/comments and calculate
path cyclomatic complexity, generate/insert/update function comment blocks.
Free demo program
Free CDOC & CDOC Professional
Version-8.1 Updates
(only for registered owners)
Linux version (OS/2 version removed, only available via webDownload)
javTree graphical viewer has new horizontal layout to better display large graphic trees
Inheritence/Containment report
generates Java(tm) reports
(as well as C and C++ reports).
JavTREE is
our java based viewer for CCALL function trees and CREF class trees.

CDOC is used by managers and programmers to generate information which is used to modify and maintain 'C' and 'C++' software products. Software development managers and professionals, both administrators and developers, find CDOC a great time saver. For poorly documented code or programs that are delivered with inadequate support documentation, CDOC is the premiere way to reverse engineer the software and keep it alive. CDOC unwinds the tangled web of code that may be inherited or simply under development (with the documentation 'to come later'!).
For example, processing our EXAMPLE program can create a graphical
(JavaVM or WebBrowser) function hierarchy-tree:
[backup to Contents]

[backup to Contents]

HTML)Version-7 and 8 can also generate HTML reports, with extensive
cross-links between the reports, so that you can use your favorite WebBrowser to
view the reports and click-and-jump between related information. To see for
yourself how this works, please browse through out example
v81c.htm reports.
JavTREE
(tm) (
FREE with CDOC) Java-based graphic tree viewer
[backup to Contents]

Computer Language Review of CDOC
"If you want to become a 90s kind of programmer, then you need C-DOC from
Software Blacksmiths Inc. C-DOC is a suite of five documentation tools for
C and C++ to help professional programmers get in touch with their code,
gain global perspective, and look at their code not as a collection of
separate, individual functions but as an interdependent whole.
C-DOC is comprised of five individual parts: C-CALL, C-CMT, C-REF, C-LIST,
and C-METRIC (which calculates the McCabe cyclomatic complexity metric)."
:
"C-DOC's packaging and installation provide a metaphore for the whole
system -- functional and solid, without frills.
Installation was fast, clean, and easy -- make a target directory,
move into it, and invoke the install program that politely asks
what components to install."
:
"My build tree has 13 subdirectories with a system of recursive makefiles for
building various project versions. Because I use several commercial packages
with deep include file nesting and build for several target environments, I felt this
would give C-DOC's macro processing abilities a good workout. ... C-DOC also
supports metacharacters in filenames, making for painless specification of large
groups of source files. I quickly made a configuration file specifying all files in
my project and for each major subsystem. I then made a configuration file for
each set of options I would use. I used batch files to combine configuration
options with the source files I wanted to use. This methodolgy worked well and
was very flexible. It took about 14 minutes to finish processing my files."
:
"The main product of C-METRIC is a popular metric called the McCabe
cyclomatic complexity metric (doesn't it sound impressive?). In simplest terms,
the McCabe metric measures the number of decision points in a module. The idea
is that the higher the number of decision points, the higher the chances for a bug."
:
"If you find that you've misplaced a function, try C-CALL's table-of-contents feature.
... Let's say you need more than a table-of-contents. A common situation arises
when you need to make a small modification for a customer, and you haven't looked
at the code for a while. A simple tree diagram of a program's function call hierarchy
could help prevent a lot of fumbling. A host of options gives you good control over
the tree's format and how much detail is provided. Recursive functions are highlighted.
... A tree drawn with IBM extended line-drawing graphic characters is also available".
:
"Just as functions get buried in code, identifiers get lost among the files.
C-REF offers several levels of cross-referencing detail for local, parameter,
global, and define identifiers. Using the various options you can enable
C++ keyword processing, class identifier tracking, and production of a
C++ class-hierarchy diagram. Although the options are cryptic, one of
C-DOC's strengths is its ability to handle CX and C++ source. C-DOC eases the
angst of anyone who has tried unraveling the inheritance tree of a complex class library.
:
"C-LIST acts as a pretty printer and also produces control logic diagrams of
each function. As a pretty printer, you can control how braces are placed,
alignment of identifiers, comment alignment, and many other aspects of source-code
aesthetics. As a logic-diagrammer, C-LIST highlights loops, exits, and decision structures."
:
"C-CMT generates or updates function comment-blocks at the start of each C function.
Many shops require function headers to include information listing what functions are
called, what identifiers are used, and, occasionally, even what functions use the
current function. How often have you actually seen the headers filled out? Even if they are
filled out, how often are they accurate? Did you ever think all that information should be compiled
automagically? If so, C-CMT is your tool. C-CMT even preserves any current function comments you may have."
:
"Software Blacksmiths is not Microsoft. It is a small company dedicated to producing
quality software tools.... On the whole, C-DOC has a few rough spots, but it also has
a lot to offer. Without a doubt, developers coding in C or C++ should give C-DOC a try."
[backup to Contents]

Free Demo program and Free CDOC Updates
Free demo program
Free CDOC & CDOC Professional
v8.1 Updates (for registered owners)
[backup to Contents]

Cost, Capacity, and Requirements
[backup to Contents]

Ordering information
The CDOC products may be ordered direct from SoftWare BlackSmiths - Just call
our autoswitching Voice/Fax line at (905)-858-4466 to place your order. We
accept Visa, Mastercard, Cheque, or Company Purchase Orders (from established
companies). We offer an unconditional 30-day guarantee of satisfaction, and
NorthAmerican AirMail shipment is included in our price.
The CDOC products may also be ordered from most of the larger software mail-order
companies. Their prices and terms vary.
For example, you can contact:
[backup to Contents]

Questions/Comments via EMail or Phone
We have attempted to provide most of the basic information you might need.
We are always trying to improve our information, so if you have any
comments (good or bad) please send us an
EMail note.
If you have any questions, please send us an EMail note with the question (try to be as specific as possible so we can ensure a quality reply). If you wish us to call you, enclose your Name and Phone Number in your note and request a follow-up call, or you can give us a call at (905)-858-4466.
[backup to Contents]
[next document CLIST]
