<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SciTools Blog &#187; Documentation</title>
	<atom:link href="http://scitools.com/blog/category/documentation/feed" rel="self" type="application/rss+xml" />
	<link>http://scitools.com/blog</link>
	<description>Maintain your Software</description>
	<lastBuildDate>Thu, 26 Apr 2012 21:11:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CodeCheck Validation</title>
		<link>http://scitools.com/blog/2012/01/codecheck-validation.html</link>
		<comments>http://scitools.com/blog/2012/01/codecheck-validation.html#comments</comments>
		<pubDate>Mon, 30 Jan 2012 19:14:52 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[codecheck]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2012/01/codecheck-validation.html</guid>
		<description><![CDATA[Some customers have asked us to provide test files for validating the output of CodeCheck feature. For example, Avionics teams using DO-178B can use it for Tool Qualification.&#160; The attached file includes a test suite for each of the CodeCheck Checks, as well as a script that uses our Perl API to automatically run each [...]]]></description>
			<content:encoded><![CDATA[<p>Some customers have asked us to provide test files for validating the output of CodeCheck feature. For example, Avionics teams using <a href="http://en.wikipedia.org/wiki/DO-178B">DO-178B</a> can use it for Tool Qualification.&#160; The attached file includes a test suite for each of the CodeCheck Checks, as well as a script that uses our Perl API to automatically run each of the Checks on the corresponding test suite. Before running the script, modify the paths at the beginning to point to the appropriate location, then simply run it from the command line with <strong>uperl codecheck_validation.pl</strong></p>
<p>As always, let us know if you run into any questions or problems &#8211; <a href="mailto:support@scitools.com">support@scitools.com</a></p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:8c1cfff8-3def-4e5b-a0d1-3472165b089f" class="wlWriterEditableSmartContent">
<p>Codecheck Validation Tests: <a href="http://www.scitools.com/blog/wp-content/uploads/2012/01/ScriptValidation1.zip">DOWNLOAD</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/01/codecheck-validation.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Objective-C Support</title>
		<link>http://scitools.com/blog/2012/01/objective-c-support.html</link>
		<comments>http://scitools.com/blog/2012/01/objective-c-support.html#comments</comments>
		<pubDate>Tue, 17 Jan 2012 20:03:10 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[parser]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2012/01/objective-c-support.html</guid>
		<description><![CDATA[With build 596 we&#8217;ve added support to Understand for Objective-C and Objective-C++, and we would love your feedback on it.&#160; This support is added as part of the new strict analyzer, so make sure your project is fully configured to get an accurate parse. Please point Understand and your Objective-C code, and if you run [...]]]></description>
			<content:encoded><![CDATA[<p>With build 596 we&#8217;ve added support to Understand for Objective-C and Objective-C++, and we would love your feedback on it.&#160; This support is added as part of the new strict analyzer, so make sure your project is <a href="http://scitools.com/blog/2011/09/improving-project-accuracy-cc.html">fully configured</a> to get an accurate parse. Please point Understand and your Objective-C code, and if you run into any problems or questions, shoot us an email &#8211; <a href="mailto:support@scitools.com">support@scitools.com</a></p>
<p>&#160;</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2012/01/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2012/01/image_thumb.png" width="344" height="311" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/01/objective-c-support.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C++ Template and Overload Support (Beta)</title>
		<link>http://scitools.com/blog/2011/10/c-template-and-overload-support-beta.html</link>
		<comments>http://scitools.com/blog/2011/10/c-template-and-overload-support-beta.html#comments</comments>
		<pubDate>Wed, 12 Oct 2011 16:14:08 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[overload]]></category>
		<category><![CDATA[Parse]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/10/c-template-and-overload-support-beta.html</guid>
		<description><![CDATA[Many users have asked us in the past if Understand could have better support for Templates and Overloaded functions. We are excited to announce that this is now a reality. Our engineers have worked hard to add a completely new C++ parser to Understand, which is available for Beta testing in build 586. Our current [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/10/screenshot.15.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="screenshot.15" border="0" alt="screenshot.15" align="right" src="http://www.scitools.com/blog/wp-content/uploads/2011/10/screenshot.15_thumb.jpg" width="295" height="291" /></a></p>
<p>Many users have asked us in the past if Understand could have better support for Templates and Overloaded functions. We are excited to announce that this is now a reality. Our engineers have worked hard to add a completely new C++ parser to Understand, which is available for Beta testing in build 586.</p>
<p>Our current C++ parser was written with the goal of being able to use fuzzy logic to handle incomplete, non-compiling code gracefully and as accurately as possible. It does a great job at that and will continue to be an important part of our toolset. Unfortunately that same feature caused severe difficulties in parsing templates and recognizing overloaded functions.&#160; The new parser is more strict than the old parser and requires a more accurate project definition. If you plan on using it, please follow the instructions from this post to ensure your project is as correct as possible:&#160; <a href="http://scitools.com/blog/2011/09/improving-project-accuracy-cc.html">Improving Project Accuracy (C/C++)</a></p>
<p>To access the new parser, just check the new checkbox on the Languages screen when creating a new project or in the Project Configuration dialog.</p>
<p>We welcome and appreciate your feedback and comments on this new parser &#8211; please send it to us at <a href="mailto:support@scitools.com">support@scitools.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/10/c-template-and-overload-support-beta.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Key Binding Options</title>
		<link>http://scitools.com/blog/2011/10/new-key-binding-options.html</link>
		<comments>http://scitools.com/blog/2011/10/new-key-binding-options.html#comments</comments>
		<pubDate>Wed, 12 Oct 2011 15:30:28 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[keybinding]]></category>
		<category><![CDATA[options]]></category>
		<category><![CDATA[settings]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/10/new-key-binding-options.html</guid>
		<description><![CDATA[We&#8217;ve made a few changes to how keyboard shortcuts are managed with build 586. Key Bindings can still be accessed via Tools-&#62;Options-&#62;Key Bindings&#160; but this page now lets you search for key binding, either by name or by the actual keystrokes. This page also has all of the key bindings in one place for easy [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve made a few changes to how keyboard shortcuts are managed with build 586. </p>
<p>Key Bindings can still be accessed via Tools-&gt;Options-&gt;Key Bindings&#160; but this page now lets you search for key binding, either by name or by the actual keystrokes. This page also has all of the key bindings in one place for easy browsing. The other change was to add a separate page for each Component(Category) of key bindings in the navigation pane.</p>
<p>While these are relatively small changes, we hope they will make life easier for those who rely heavily on keyboard navigation.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/10/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="keybindings" border="0" alt="keybindings" src="http://www.scitools.com/blog/wp-content/uploads/2011/10/image_thumb.png" width="604" height="432" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/10/new-key-binding-options.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Class Dependencies Report</title>
		<link>http://scitools.com/blog/2011/09/class-dependencies-report.html</link>
		<comments>http://scitools.com/blog/2011/09/class-dependencies-report.html#comments</comments>
		<pubDate>Wed, 14 Sep 2011 18:01:00 +0000</pubDate>
		<dc:creator>heidi</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/09/class-dependencies-report.html</guid>
		<description><![CDATA[After printing the Class Dependencies Report (Reports-&#62;Dependency-&#62;Class Dependencies), we see some headers, with relating numbers that might be confusing as to what exactly they mean. The Dependency Browser can be very useful in seeing the actual dependencies and what they relate to, so I am going to use the Java sample project (getopt) that comes [...]]]></description>
			<content:encoded><![CDATA[<p>After printing the Class Dependencies Report (Reports-&gt;Dependency-&gt;Class Dependencies), we see some headers, with relating numbers that might be confusing as to what exactly they mean. The Dependency Browser can be very useful in seeing the actual dependencies and what they relate to, so I am going to use the Java sample project (getopt) that comes with Understand, the csv file, and the Dependency Browser, to explain the dependencies shown.&#160; <br />The Dependency Browser shows the Class: GetoptDemo on the left side, and it depends on Getopt and LongOpt (shown on the right of the Dependency Browser, and also in the &#8216;To Class&#8217; column of the csv file).&#160; In Getopt there are 13 References, and LongOpt there are 12 References.&#160; Both of which are shown in the References column and on the right side of the Dependency Browser. </p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependenciesReferences.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="dependenciesReferences" border="0" alt="dependenciesReferences" src="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependenciesReferences_thumb.jpg" width="700" height="299" /></a></p>
<p>    <span id="more-859"></span>
<p>The &#8216;To Entities&#8217; column shows the specific entities that depend on GetoptDemo.&#160; So, expanding the tree on the right side of the Dependency Browser shows the 8 entities that GetoptDemo depends on in Getopt, and the 6 entities that GetoptDemo depends on in LongOpt.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependenciesFromEntities.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="dependenciesFromEntities" border="0" alt="dependenciesFromEntities" src="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependenciesFromEntities_thumb.jpg" width="704" height="418" /></a></p>
<p>The From Entities is the number of entities in GetoptDemo that have dependencies.&#160; By going to the method GetoptDemo on the left side of the Dependency Browser, and expanding the dependencies on that method in the right side of the Browser, we see that there is 1 dependency in Getopt, and 1 dependency in LongOpt. </p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependencesEntities1.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="dependencesEntities1" border="0" alt="dependencesEntities1" src="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependencesEntities1_thumb.jpg" width="700" height="248" /></a>     <br />Now, continue to look at the &#8216;From Entities&#8217; on the left side of the Dependency Browser by looking at Variable: g, expand the tree on the right and see that it depends on Getopt.&#160; Which brings the number of From Entities for Getopt from 1 to 2.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependencesEntities2.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="dependencesEntities2" border="0" alt="dependencesEntities2" src="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependencesEntities2_thumb.jpg" width="708" height="242" /></a>     <br />Finally, look at the last entity for GetoptDemo on the left, &#8216;Variable: longopts&#8217;, expand the tree on the right and see that it Depends on LongOpt, which brings the number of From Entities from 1 to 2 for LongOpt.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependencesEntities3.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="dependencesEntities3" border="0" alt="dependencesEntities3" src="http://www.scitools.com/blog/wp-content/uploads/2011/09/dependencesEntities3_thumb.jpg" width="715" height="244" /></a>     <br />Hopefully this sample clarifies the Class Dependencies csv report.</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/09/class-dependencies-report.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Python API</title>
		<link>http://scitools.com/blog/2011/08/new-python-api.html</link>
		<comments>http://scitools.com/blog/2011/08/new-python-api.html#comments</comments>
		<pubDate>Mon, 29 Aug 2011 20:47:57 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Scitools Announcements]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/08/new-python-api.html</guid>
		<description><![CDATA[Understand now fully supports Python access to its underlying database! The new Python API allows you to write your own scripts that can create custom reports, generate your own metrics and in general make Understand deliver exactly what you want it to. Getting Started The Python API runs on your 3.x installation of Python, you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://python.org"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="python-logo[1]" border="0" alt="python-logo[1]" align="right" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/pythonlogo1.gif" width="211" height="71" /></a>Understand now fully supports Python access to its underlying database! The new Python API allows you to write your own scripts that can create custom reports, generate your own metrics and in general make Understand deliver exactly what you want it to.</p>
<h3>Getting Started</h3>
<p>The Python API runs on your 3.x installation of Python, you can grab it from <a href="http://python.org/download/">here</a> if you need to install it. </p>
<p>Once you have Python installed you need to tell it where the Understand module is. The easiest way to do that is to add/modify the PYTHONPATH <a href="http://en.wikipedia.org/wiki/Environment_variable">environment variable</a> to include the module location, which is SciTools/bin/&lt;<em>System</em>&gt;/python. Also if you did not add Understand to the Path variable during installation, you will need to add the SciTools/bin/&lt;System&gt; directory to PATH.</p>
<p>Finally, to use the API you will need to put &#8216;import Understand&#8217; in your script.</p>
<h3>Documentation</h3>
<p>The most up-to-date documentation will ship with Understand and can be accessed from the Python Console with:    <br />&#160;&#160; import understand     <br />&#160; help (understand)     <br />A more readable version can be obtained with the python &#8216;pydoc&#8217; command, which can generate an html version of the documentation. We also try to keep a current version of the Python documentation on the <a href="http://www.scitools.com/support/manuals.php">Manuals</a> page.</p>
<h3>Sample Scripts</h3>
<p>The documentation includes some samples. More detailed example scripts are shipped with Understand in the SciTools/scripts/python folder.</p>
<p><strong>Happy Scripting!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/08/new-python-api.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Clustered Call Graphs</title>
		<link>http://scitools.com/blog/2011/08/clustered-call-graphs.html</link>
		<comments>http://scitools.com/blog/2011/08/clustered-call-graphs.html#comments</comments>
		<pubDate>Mon, 29 Aug 2011 16:12:35 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Scitools Announcements]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[graphs]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/08/clustered-call-graphs.html</guid>
		<description><![CDATA[The new interactive Clustered Call Graphs show the function call graph, organized by file. There are several variants of this graph: Call, Call-by, Butterfly and Internal Call. They can also be accessed from the function, class, file or architecture level. These graphs can all be accessed from the Graphical View right click menu for the [...]]]></description>
			<content:encoded><![CDATA[<p>The new interactive Clustered Call Graphs show the function call graph, organized by file. There are several variants of this graph: Call, Call-by, Butterfly and Internal Call. They can also be accessed from the function, class, file or architecture level. These graphs can all be accessed from the Graphical View right click menu for the entity.</p>
<div align="center">
<table border="0" cellspacing="0" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td valign="top" width="200">
<p align="center"><strong>Cluster Call Butterfly Graph</strong></p>
<p>           <a href="http://www.scitools.com/blog/wp-content/uploads/2011/08/image4.png">             <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Butterfly" border="0" alt="Butterfly" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image_thumb3.png" width="244" height="159" /></a>             </td>
<td valign="top" width="200">
<p align="center"><strong>Cluster Callby Graph</strong></p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/08/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image_thumb4.png" width="215" height="244" /></a> </p>
</p>
</td>
</tr>
<tr>
<td valign="top" width="200">
<p align="center"><strong>Cluster Call Graph</strong></p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/08/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image_thumb5.png" width="244" height="227" /></a> </p>
</p>
</td>
<td valign="top" width="200">
<p align="center"><strong>Cluster Call Internal Graph</strong></p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/08/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image_thumb6.png" width="224" height="244" /></a> </p>
</td>
</tr>
</tbody>
</table></div>
<p> <span id="more-841"></span>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image8.png" width="242" height="659" /></p>
<p>As with the dependency graphs, you can change what data these graphs display by using the graph customizer pane, to the right of the graphs. With this, you can show and hide nodes and edges, highlight nodes and edges of interest, and aggregate edges going into a file or architecture. </p>
<p>We hope this graph will provide a useful tool in helping you visual your code.</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/08/clustered-call-graphs.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Macro Definitions &#8211; Improved!</title>
		<link>http://scitools.com/blog/2011/08/macro-definitions-improved.html</link>
		<comments>http://scitools.com/blog/2011/08/macro-definitions-improved.html#comments</comments>
		<pubDate>Mon, 29 Aug 2011 15:44:37 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Scitools Announcements]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[Macro]]></category>
		<category><![CDATA[macros]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/08/macro-definitions-improved.html</guid>
		<description><![CDATA[There is a new option for identifying and defining missing macros. The new tool shows what macros are not defined as well as how and where they are referenced. This makes it easy to see which missing Macro definitions would have the largest impact on your project. After the parse is complete the parse log [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image.png" width="272" height="71" />There is a new option for identifying and defining missing macros. The new tool shows what macros are not defined as well as how and where they are referenced. This makes it easy to see which missing Macro definitions would have the largest impact on your project.</p>
<p> <span id="more-832"></span>
<p>After the parse is complete the parse log will have a new button, Undefined Macros, that leads to this new tool. You can access the previous parse log from the View menu if you have already closed it. </p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/08/image1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image_thumb.png" width="454" height="286" /></a></p>
<p>And you get the Undefined Macros dialog, which lets you sort and filter the list of macros that are referenced in your project but not defined. It also shows the number of times that macro is used and the number of files it is used in. To give a macro a global definition, simply select it and enter the new value in the text box near the bottom.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/08/image2.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image_thumb1.png" width="404" height="396" /></a></p>
</p>
<p>If the macro needs to have different values in different folders or files, the Detail View button at the bottom will provide access to the the Override dialog that will let you specify the value for a macro for any file or folder.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/08/image3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2011/08/image_thumb2.png" width="404" height="367" /></a></p>
<p>Once you have sent the macro values you want, the save button will prompt you to reparse the project, and large swaths of inactive (pink) code will be activated and the results of the analysis will be even more accurate.</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/08/macro-definitions-improved.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Parse Improvement Tool</title>
		<link>http://scitools.com/blog/2011/04/parse-improvement-tool.html</link>
		<comments>http://scitools.com/blog/2011/04/parse-improvement-tool.html#comments</comments>
		<pubDate>Tue, 05 Apr 2011 22:56:12 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Scitools Announcements]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[Parse]]></category>
		<category><![CDATA[Parse Improvement Tool]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/04/parse-improvement-tool.html</guid>
		<description><![CDATA[With Understand 2.6 Build 560 we’ve added a powerful new tool for creating C/C++ projects. The Parse Improvement Tool helps you quickly find missing include paths for your project which will lead to more accurate parsing and project information. Previously Understand relied on you knowing exactly where the include files were and specifying the path. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.93.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Improve Parse" border="0" alt="Improve Parse" src="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.93_thumb.jpg" width="417" height="55" /></a> With <em>Understand 2.6</em> Build 560 we’ve added a powerful new tool for creating C/C++ projects. The Parse Improvement Tool helps you quickly find missing include paths for your project which will lead to more accurate parsing and project information. Previously <em>Understand</em> relied on you knowing exactly where the include files were and specifying the path. Now there is a tool to help you find those missing files.</p>
<p> <span id="more-807"></span>
<p>The above dialog will appear on the parse log after analyzing your project, you can also access the log via<strong> View-&gt;Last Parse Log</strong></p>
<p>Once you hit the <strong>Improve Parse</strong> button, you will be presented with a list of include files referenced but not found in the project:<a href="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.95.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="screenshot.95" border="0" alt="screenshot.95" src="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.95_thumb.jpg" width="244" height="162" /></a></p>
<p>Hit the Search button to begin finding those files. You will be presented with this dialog:</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.96.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="screenshot.96" border="0" alt="screenshot.96" src="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.96_thumb.jpg" width="244" height="236" /></a> </p>
<p>Where you can navigate to a directory where the missing files reside, or select a directory that contains header files and hit the large Search button to descend through it looking for missing include files.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.97.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="screenshot.97" border="0" alt="screenshot.97" src="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.97_thumb.jpg" width="244" height="163" /></a>Select the directories you want to add, and they will be added to the project include paths. When you are finished you can save those include paths and choose to reparse the entire project, or just the files that were parsed on the previous parse.<a href="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.98.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="screenshot.98" border="0" alt="screenshot.98" src="http://www.scitools.com/blog/wp-content/uploads/2011/04/screenshot.98_thumb.jpg" width="244" height="186" /></a> That’s all there is to it. Let us know if you have have any questions, problems or feedback – <a href="mailto:support@scitools.com">support@scitools.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/04/parse-improvement-tool.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Line and Statement Counting Metrics</title>
		<link>http://scitools.com/blog/2010/03/line-and-statement-counting-metrics.html</link>
		<comments>http://scitools.com/blog/2010/03/line-and-statement-counting-metrics.html#comments</comments>
		<pubDate>Mon, 22 Mar 2010 15:11:44 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Understand 2.5]]></category>
		<category><![CDATA[code count]]></category>
		<category><![CDATA[countlinecode]]></category>
		<category><![CDATA[loc]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[sloc]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2010/03/line-and-statement-counting-metrics.html</guid>
		<description><![CDATA[Understand has many different metrics, including a large number that focus on counting the number of statements and lines of code, including Lines of Code (LOC or SLOC), Lines with Comments (CLOC), empty lines (BLOC), Number of Statements, Number of Executable Statements, etc. The short C/C++ example below shows how each line and statement contribute [...]]]></description>
			<content:encoded><![CDATA[<p><em>Understand</em> has many different <a href="http://www.scitools.com/documents/metrics.php" target="_blank">metrics</a>, including a large number that focus on counting the number of statements and lines of code, including Lines of Code (LOC or SLOC), Lines with Comments (CLOC), empty lines (BLOC), Number of Statements, Number of Executable Statements, etc.</p>
<p>The short C/C++ example below shows how each line and statement contribute to these metrics in <em>Understand</em>. You can <a href="https://spreadsheets.google.com/ccc?key=0AtU7sTc8vnbbdGtkc3dFRzVNYUtpNjdSU1Q5T0N1MkE&amp;hl=en" target="_blank">view the larger version here</a>.</p>
<p>&#160;</p>
<p><iframe height="500" src="http://spreadsheets.google.com/pub?key=tkdswEG5MaKi67RST9OCu2A&amp;single=true&amp;gid=0&amp;output=html&amp;widget=true" frameborder="0" width="600"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2010/03/line-and-statement-counting-metrics.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Awesome New Graph</title>
		<link>http://scitools.com/blog/2010/03/awesome-new-graph.html</link>
		<comments>http://scitools.com/blog/2010/03/awesome-new-graph.html#comments</comments>
		<pubDate>Thu, 11 Mar 2010 00:43:18 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Understand 2.5]]></category>
		<category><![CDATA[dependencies]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[graphs]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2010/03/awesome-new-graph.html</guid>
		<description><![CDATA[We’ve added a new dependency graph with some great interactive capabilities. If you’ve been looking for a way to visualize your high level code layout and intra-project dependencies, this is it. Watch this short video to get a taste of how useful these graphs are.]]></description>
			<content:encoded><![CDATA[<p>We’ve added a new dependency graph with some great interactive capabilities. If you’ve been looking for a way to visualize your high level code layout and intra-project dependencies, this is it. Watch this short video to get a taste of how useful these graphs are.</p>
<p><object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="498" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0"><param name="src" value="http://www.scitools.com/videos/DependencyGraphs/DependencyGraphs_controller.swf" /><param name="bgcolor" value="#1a1a1a" /><param name="quality" value="best" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="scale" value="showall" /><param name="flashVars" value="autostart=false" /><embed name="csSWF" src="http://www.scitools.com/videos/DependencyGraphs/DependencyGraphs_controller.swf" width="640" height="498" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false&#038;thumb=FirstFrame.png&#038;thumbscale=45&#038;color=0x000000,0x000000" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2010/03/awesome-new-graph.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Feature: Making Snapshots from TrackBack</title>
		<link>http://scitools.com/blog/2008/07/new-feature-making-snapshots-from-trackback.html</link>
		<comments>http://scitools.com/blog/2008/07/new-feature-making-snapshots-from-trackback.html#comments</comments>
		<pubDate>Thu, 31 Jul 2008 00:19:06 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/07/new-feature-making-snapshots-from-trackback.html</guid>
		<description><![CDATA[I&#8217;ve covered making Snapshots from the Current Database and by checking out source to an alternate location in earlier posts.&#160; Now I&#8217;m going to tell you the EASY way to do it&#8230;. Just use TrackBack. Assuming you have had TrackBack B443 or later monitoring your source trees, you can recreate the state of any monitored [...]]]></description>
			<content:encoded><![CDATA[<p>I&rsquo;ve covered making Snapshots from the Current Database and by checking out source to an alternate location in earlier posts.&nbsp; Now I&rsquo;m going to tell you the EASY way to do it&hellip;. Just use <strong>TrackBack</strong>. </p>
<p><img alt="2008-07-30 19.42" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2019.42.jpg" border="0" /></p>
<p>Assuming you have had TrackBack B443 or later monitoring your source trees, you can recreate the state of any monitored directory at any time. This includes file modification, file existance, file renaming, everything.</p>
<p><span id="more-357"></span></p>
<p><strong>The Problem &ndash; I don&rsquo;t have a snapshot for the time period. </strong></p>
<p>I&rsquo;m trying to see if a bug reported has been fixed. I know the area and&nbsp;I know we made changes for a similar bug, I just need to see if the changes cover the situation the user reports. He is using B453&hellip; my source is at B456+local changes.&nbsp;I&rsquo;d like to easily compare the area affected between B453 and now.</p>
<p>I will need to grab the source for B453, build a snapshot, and compare the &ldquo;Managed DB API&rdquo; architectural area&nbsp;for changes.</p>
<p><strong>Getting The Source &ndash; Piece of Cake</strong></p>
<p>First I choose &ldquo;<strong>Change-&gt;Make a Snapshot-&gt;From Any Point in Time</strong>&rdquo;</p>
<p>If this is your first snapshot of this project it will caution you that Project Portability settings cannot be changed after making a snapshot.&nbsp; Don&rsquo;t worry about that. Just click through it.</p>
<p>Now I&rsquo;m basically asked &ldquo;When&rdquo;, using th the calendar pulldown I specify the 23rd at 1700 hours (end of programming day):</p>
<p><img alt="2008-07-30 19.47" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2019.47.jpg" border="0" /></p>
<p>&nbsp;</p>
<p>Understand and TrackBack then work together to build up a preview of what the new snapshot will contain:</p>
<p><img alt="2008-07-30 19.49" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2019.49.jpg" border="0" /></p>
<p>The first box is files in common. The second is files that existed in B453 but not in the current source. The third is files that exist now but didn&rsquo;t back then.</p>
<p>This looks right to me. I accept it.</p>
<p>It then grabs the source needed for the snapshot from the TrackBack history and starts parsing the snapshot:</p>
<p><img alt="2008-07-30 19.51" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2019.51.jpg" border="0" /></p>
<p>&nbsp;Elapsed time to start&hellip; about 1 second.&nbsp; I didn&rsquo;t have to use SVN, I didn&rsquo;t have to make a directory, I just need to know what TIME I wanted to compare against.</p>
<p><strong>Snapshot Made &ndash; now find the changes</strong></p>
<p>I could, and usually would, just compare all of my current database against the snapshot I made for B453.&nbsp; But in this case I know the area I want to check. </p>
<p>So I&rsquo;ll choose &ldquo;<strong>Change-&gt;Compare Snapshots</strong>&rdquo;&nbsp; and specify the particular area I want to search changes for:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2020.00.jpg"></a><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2020.15.jpg"><img alt="2008-07-30 20.15" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2020.15_thumb.jpg" border="0" /></a><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2019.57.jpg"></a></p>
<p>&nbsp;</p>
<p>I&rsquo;m then presented with the changes to that area and I check them out:</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2020.17.jpg"><img alt="2008-07-30 20.17" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D30_2020.17_thumb.jpg" border="0" /></a></p>
<p>After perusing them I decide the bug is not fixed and I make a note to talk to [new]Rob, the owner of that code, &nbsp;tomorrow to make sure he gets this one fixed before the next build.</p>
<p><img src="http://scitools.com/blog/smile5.gif" /></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/07/new-feature-making-snapshots-from-trackback.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Feature: Browse Mode in the 2.0 Editor</title>
		<link>http://scitools.com/blog/2008/07/new-feature-browse-mode-in-the-20-editor.html</link>
		<comments>http://scitools.com/blog/2008/07/new-feature-browse-mode-in-the-20-editor.html#comments</comments>
		<pubDate>Tue, 29 Jul 2008 01:43:25 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/07/new-feature-browse-mode-in-the-20-editor.html</guid>
		<description><![CDATA[The Understand 2.0 editor&#8217;s &#8220;Browse Mode&#8221; makes all entities in the editor behave like links in a web browser. With a single click you can visit and update the Information Browser. In both 1.4 and 2.0 the usual way of&#160;exploring/learning about code in the editor is via the Right Click&#160;context menu. For instance, if I [...]]]></description>
			<content:encoded><![CDATA[<p>The <em>Understand 2.</em>0 editor&rsquo;s &ldquo;Browse Mode&rdquo; makes all entities in the editor behave like links in a web browser. With a single click you can visit and update the Information Browser. </p>
<p>In both 1.4 and 2.0 the usual way of&nbsp;exploring/learning about code in the editor is via the Right Click&nbsp;context menu. For instance, if I want to learn about&nbsp;allocstrAppend() I right click on it:</p>
<p><img alt="2008-07-28 21.35" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D28_2021.35.jpg" border="0" /></p>
<p><span id="more-355"></span></p>
<p>However, the 2.0 has a new &ldquo;Browse&rdquo; mode that makes all entities behave like hyperlinks in a web browser. </p>
<p>Turn it on selectively by holding down the &ldquo;CTRL&rdquo; key.&nbsp; Or toggle between normal mode and browse mode by toggling the browse mode icon in the toolbar:</p>
<p><img alt="2008-07-28 21.39" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D28_2021.39.jpg" border="0" /></p>
<p>Once in the browse mode, whenever you hover over an entity it is underlined:</p>
<p><img alt="2008-07-28 21.45" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D28_2021.45.jpg" border="0" /></p>
<p>When you click on the underlined entity two things will happen:</p>
<ol>
<li>The Information Browser will update about that entity</li>
<li>The entities definition will be visited</li>
</ol>
<p>You can control what happens on the Browse mode click via the Tools-&gt;Options-&gt;Editor dialog, and the Browse tab:</p>
<p><img alt="2008-07-28 21.41" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D28_2021.41.jpg" border="0" /></p>
<p>Note that you can still edit while in the Browse mode.&nbsp; If&nbsp; you don&rsquo;t want to visit somewhere just click in white space.</p>
<p><img src="http://scitools.com/blog/smile5.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/07/new-feature-browse-mode-in-the-20-editor.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Documentation: Understand 2.0 GUI command line</title>
		<link>http://scitools.com/blog/2008/07/documentation-understand-20-gui-command-line.html</link>
		<comments>http://scitools.com/blog/2008/07/documentation-understand-20-gui-command-line.html#comments</comments>
		<pubDate>Fri, 25 Jul 2008 03:23:05 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/07/documentation-understand-20-gui-command-line.html</guid>
		<description><![CDATA[The Understand 2.0GUI has command line options that may prove useful to you automation and personal efficiency reasons. To see the options, just start Understand with “-help”: %understand -help Here are the current options (updated 24 July 2008): Understand file1 file2 file3 etc [options] Open a list of files by including the list after the application name. Options: -existing Use this option to pas arguments to an existing instance of Understand. If [...]]]></description>
			<content:encoded><![CDATA[<p>The <em>Understand 2.0</em>GUI has command line options that may prove useful to you automation and personal efficiency reasons.</p>
<p>To see the options, just start Understand with “-help”:</p>
<p>%understand -help</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2022.56.jpg"><img src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2022.56_thumb.jpg" border="0" alt="2008-07-24 22.56" /></a></p>
<p><span id="more-353"></span></p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Here are the current options (updated 24 July 2008):</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Understand file1 file2 file3 etc [<em>options</em>]</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Open a list of files by including the list after the application name.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier"><strong>Options:</strong></p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>existing</em></p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Use this option to pas arguments to an existing instance of Understand. If more than one exists, the one with the lowest PID will get the commands.Will start new one if none exist.</p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>cwd</em> path</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Set the current working directory to &#8221;path&#8221;. Doesn’t change the cwd if path doesn’t exist.</p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>lastproject_cwd</em></p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Use the path to the last opened project as the cwd.</p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>db</em> filename</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Open the project file &#8221;filename&#8221;. Does not assume .udb extension.</p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>lastproject</em></p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Open the last project opened by the application.</p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>noproject</em> )</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Do not open a project. This overrides -project, -lastproject, and also (more usefully) automatic settings to load projects on startup.It also clears any automatic settings so they will not happen until set again in the GUI.</p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>visit</em> filename [line-number column-number]</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Open the file &#8221;filename&#8221; in an editor window. Path is relative to CWD of Understand instance doing the visit. Optionally position caret at line-number and column-number</p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">-<em>contextmenu</em> filename [-line number -col number -text number]</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Show the context-menu for &#8221;filename&#8221; at the current global mouse coordinates. For better accuracy as to what entity the menu acts on specify more information with -line, -col and -text. This is useful for integrating <em>Understand</em> context menus into other editors, debuggers and other applications. See <a href="http://scitools.com/blog/2008/05/using-understand-with-an-external-editor-slickedit.html" target="_self">Using Understand with an External Editor</a><a href="http://scitools.com/blog/2008/05/using-understand-with-an-exter-2.html"></a> for an example of using this menu in SlickEdit.</p>
</blockquote>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier"><strong>Examples:</strong></p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Startup understand and load a database:</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier"><strong>understand -db foo.udb</strong></p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Load file foo.cpp existing <em>Understand 2.0</em> instance.</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier"><strong>understand foo.cpp -existing</strong></p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Open the Understand and automatically open the last project:</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier"><strong>understand -lastproject</strong></p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Visit line 22, column 3 of file foo.cpp in an existing instance of <em>Understand 2.0</em></p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier"><strong>understand -existing -visit foo.cpp 22 3</strong></p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">Bring up the context menu for an function named “foo” in file foo.cpp</p>
<blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier"><strong>understand -existing -contextmenu foo.cpp -text foo</strong></p>
</blockquote>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier">
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/07/documentation-understand-20-gui-command-line.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FAQ: Snapshots ( what are they and working them into your workflow )</title>
		<link>http://scitools.com/blog/2008/07/faq-snapshots-what-are-they-and-working-them-into-your-workflow.html</link>
		<comments>http://scitools.com/blog/2008/07/faq-snapshots-what-are-they-and-working-them-into-your-workflow.html#comments</comments>
		<pubDate>Fri, 25 Jul 2008 00:22:35 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Understand 2.0]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/07/faq-snapshots-what-are-they-and-working-them-into-your-workflow.html</guid>
		<description><![CDATA[I&#8217;ve just realized that while I&#8217;ve written a bunch of posts referring to snapshots and using snapshots, I&#8217;ve never explained what they are and how they can fit into a software engineer&#8217;s workflow. Hence the &#8220;missing piece of the puzzle&#8221; clip art above. Q: What are snapshots? A: A snapshot is a binary store included [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="2008-07-24 13.31" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2013.31.jpg" border="0" /></p>
<p>I&rsquo;ve just realized that while I&rsquo;ve written a bunch of posts referring to snapshots and using snapshots, I&rsquo;ve never explained what they are and how they can fit into a software engineer&rsquo;s workflow. Hence the &ldquo;missing piece of the puzzle&rdquo; clip art above.</p>
<p><strong>Q: What are snapshots?</strong></p>
<p><strong>A</strong>: A snapshot is a binary store included within an <em>Understand</em> database. A database can hold be any number of snapshots. Each contains three things:</p>
<ol>
<li>a complete <em>Understand</em> database containing analysis (parse) information</li>
<li>all source, including any include files, needed to rebuild that analysis</li>
<li>certain cached information used to speed up working with them (metrics and file information)</li>
</ol>
<p><strong>Q: What are snapshots used for?</strong></p>
<p><strong>A: </strong>They are used throughout <em>Understand 2.0</em> to provide details and metrics about what has changed in source code between two points of time.&nbsp; The &ldquo;Change&rdquo;, &ldquo;Metrics&rdquo;, and &ldquo;Estimate&rdquo; menus all use snapshots intensively.</p>
<p>&ldquo;Change&rdquo; will tell you what has changed at the semantic level. For instance, what classes or types changed, versus just what files/lines changed.</p>
<p>&ldquo;Metrics&rdquo; can tell you the number of semantic changes &ndash; classes removed, changed, added, so forth.</p>
<p><span id="more-352"></span></p>
<p><strong>Q: How is&nbsp;a &ldquo;diff&rdquo;&nbsp; better when using snapshots than <em>Understand 2.</em>0&rsquo;s<em> </em>text differencing capabilities<em>?</p>
<p>A:</em></strong></p>
<p><em></em></p>
<ul>
<ul style="MARGIN-TOP: 0in" type="disc">
<li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><strong>Easy.</strong> Using a snapshot means you don&rsquo;t have to keep different versions of source lying around. Snapshots are easy to make. Just click a button and you&rsquo;ve got one. <br /></span></li>
<li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><strong>Compares using snapshots use semantic differencing.</strong>&nbsp; That means, for instance, &nbsp;that no matter how much a function changes or moves around in&nbsp;a file you can easily isolate just changes inside the function, class or other logical / semantic unit in code.&nbsp;&nbsp; Differences shown are specific to the entities you are concerned about. <br /></span></li>
<li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><strong>Find Changes by type of entity changed.</strong>&nbsp; You can just look at class or type changes, or functions.&nbsp; You can find changes in classes with high complexity. You can find classes that had the most changes. So on.<br /></span></li>
<li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><strong>Find changes in dependency trees.</strong> Semantic differencing also permits exploring changes in dependency trees. For instance you can ask &ldquo;Change&rdquo; to find changes in code that is depended on by, or depends on, a region of code.&nbsp; This helps you know what changes have affected a piece you are working on, or what pieces are affected by what you changed.&nbsp;&nbsp; The classic question is &ldquo;this function is broke, what changed that affected it&rdquo;?&nbsp; Semantic differencing answers that question directly.<br /></span></li>
</ul>
</ul>
<p><strong>Q: What kind of snapshots are there?</strong></p>
<p><strong>A: </strong>All snapshots contain the same kind of information. But we divide them up into kinds more on how they are made and what you can do with them in <em>Understand 2.0. </em></p>
<p>There are three kinds:</p>
<ol>
<li><strong>Automatic</strong> &ndash;&nbsp;these are made with the project scheduler (Project-&gt;Configure-&gt;Schedule).&nbsp;&nbsp;At the same time each day you can tell&nbsp;<em>Understand 2.0</em> to&nbsp;update, parse and make a snapshot. These are labeled by&nbsp;the name of the day (e.g. Monday, Tuesday, Wednesday, &hellip;)</li>
<li><strong>Scratch</strong> &ndash; there is only one &ldquo;scratch&rdquo; snapshot. You can make it from the current database in a single button click or keystroke.&nbsp; Use it for snapshots you want to have but not long term. For instance, to save a key point, prior to moving ahead.</li>
<li><strong>Named</strong> &ndash; these snapshots have a name / date that you set. For instance &ldquo;B452&rdquo; or &ldquo;Before I started messing with the interface&rdquo;.&nbsp; There can be any number of these. </li>
</ol>
<p><strong>Q: Hey&hellip; I could use this stuff&hellip; but how do I make a snapshot?</strong></p>
<p><strong>A:</strong> Oh let me count the ways&hellip;</p>
<ul>
<li>Via button on the Parse Log&hellip;
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2015.16.jpg"><img alt="2008-07-24 15.16" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2015.16_thumb.jpg" border="0" /></a></p>
</li>
<li>Via the Change-&gt;Make A Snapshot Menu
<p><img alt="2008-07-24 15.14" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2015.14_small.jpg" border="0" /></li>
<li>Via the Project Scheduler&hellip;&nbsp; <font size="1">(Configure from Change-&gt;Scheduled Activities dialog)</font>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2008.06.jpg"><img alt="2008-07-24 08.06" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2008.06_thumb.jpg" border="0" /></a></li>
<li>Via the command line tool &ldquo;und&rdquo;
<p>und -db foo.udb -snapshot &ldquo;Src-13&ndash;Jul-2008&rdquo;</li>
</ul>
<p><strong>Q: It does seem easy to make one from source I have in an <em>Understand</em> project now, but what about source versions&nbsp;from before I heard about this?<br /></strong></p>
<p><strong>A:</strong> We call these &ldquo;Historical Snapshots&rdquo;.&nbsp; Basically, you need to get the old source and make a snapshot out of it.&nbsp; We provide two ways to do this:</p>
<ol>
<li>Do it from TrackBack.&nbsp; If you have been using Trackback, getting old source is easy. Just choose &ldquo;Change-&gt;Make a Snapshot-&gt;From any point in time&rdquo; and specify TrackBack and a time:
<p><img alt="2008-07-24 20.10" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2020.10.jpg" border="0" /></li>
<li>Copy or checkout the desired source to an alternate location. Then choose &ldquo;Make a Snapshot-&gt;Named from an Alternate Location&rdquo;.
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2020.12.jpg"><img alt="2008-07-24 20.12" src="http://scitools.com/blog/wp-content/uploads/mt-old/2008_2D07_2D24_2020.12_thumb.jpg" border="0" /></a></p>
<p>For a detailed look at making a snapshot this way see &ldquo;<a href="http://scitools.com/blog/2008/07/tip-making-a-snapshot-from-an.html" target="_blank">Tip: Making a Snapshot from an alternate source directory</a>&rdquo;.</li>
</ol>
<p><strong>Q: So how do you use snapshots?</strong></p>
<p><strong>A:</strong> Well,lets ignore me using them soley for testing of the snapshot function. How do I use them in my &ldquo;real&rdquo; day to day work?</p>
<p>I usually need to see what happened since the last build and since yesterday. I sometimes need to see what happened since a special time (usually same day).</p>
<p>I have have automatic snapshot building turned on. I do this with the automatic scheduler. Hence I always have snapshots of the last 7 days readily available. </p>
<p>I also make snapshots of recent builds. I keep the last 3 or 4.&nbsp; I do this manually at the time the build is frozen (I&rsquo;m involved in the freeze decision).&nbsp;&nbsp; If I forget, I make them with TrackBack.</p>
<p>If somebody tells me they are about to check in something I want to examine. I&rsquo;ll make a scratch snapshot, update, parse and then quickly compare/see what changed and what the changes were.</p>
<p>I&rsquo;m a bit more organized than most (my wife may disagree).&nbsp; Many of our engineers use only the Scratch snapshot facility. They &ldquo;snap a scratch&rdquo; and they can easily see what has changed since it.&nbsp; When happy with what they are working on, they make another and move along.</p>
<p>Nifty!</p>
<p><img src="http://scitools.com/blog/smile5.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/07/faq-snapshots-what-are-they-and-working-them-into-your-workflow.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Documentation: How to get metrics with Understand 2.0</title>
		<link>http://scitools.com/blog/2008/07/documentation-how-to-get-metrics-with-understand-20.html</link>
		<comments>http://scitools.com/blog/2008/07/documentation-how-to-get-metrics-with-understand-20.html#comments</comments>
		<pubDate>Fri, 11 Jul 2008 20:12:36 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Understand 2.0]]></category>
		<category><![CDATA[metrics]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/http:/scitools.com/blog/archives/2008/07/documentation-how-to-get-metrics-with-understand-20.html</guid>
		<description><![CDATA[Metrics have always been very tightly coupled with software engineering. Love them or hate them, there is usually no avoiding them. In Understand 2.0 we&#8217;ve significantly increased our ability to provide useful metrics about your project.&#160; The metrics capabilities vary depending on what version of Understand you are using: Understand Engineer provides high level project [...]]]></description>
			<content:encoded><![CDATA[<p>Metrics have always been very tightly coupled with software engineering. Love them or hate them, there is usually no avoiding them. In <i>Understand 2.0</i> we&#8217;ve significantly increased our ability to provide useful metrics about your project.&#160; </p>
<p>The metrics capabilities vary depending on what version of Understand you are using: <em>Understand Engineer</em> provides high level project metrics, <em>Understand Pro</em> lets you explore and export project and entity level metrics, and <em>Understand Analyst</em> lets you do all that, create custom graphs, and even compare how metrics are changing over time (trend analysis).&#160; </p>
<p>All of this Metrics capability is accessed through the new Metrics menu.</p>
</p>
<table cellspacing="4" cellpadding="2" width="600" border="0">
<tbody>
<tr>
<td valign="middle" align="center">
<p><strong>Engineer</strong></p>
</td>
<td valign="middle" align="center">
<p><strong>Pro</strong></p>
</td>
<td valign="middle" align="center"><strong>Analyst</strong></td>
</tr>
<tr>
<td valign="top" align="center" width="200"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="96" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_7.png" width="182" border="0" /> </td>
<td valign="top" align="center" width="200"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="164" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_8.png" width="176" border="0" /> </td>
<td valign="top" align="center" width="200"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="188" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_9.png" width="176" border="0" /> </td>
</tr>
</tbody>
</table>
<p><span id="more-347"></span></p>
<h3>Basic and Advanced Metrics</h3>
<p>We&#8217;ve noticed that some basic metrics are more useful to engineers then others, such as number of lines of code, number of classes etc. while other metrics are usually more helpful for management and code analysis. Since Understand Engineer and Pro target programmers, these Basic metrics are available in all versions, while the advanced metrics are partially available in Pro and fully available in Analyst.&#160; Though which metrics are displayed depends on what languages are being analyzed, here is a list of what you can expect:</p>
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td valign="top" width="300"><strong>Basic Metrics</strong></td>
<td valign="top" width="300"><strong>Advanced Metrics</strong> (Partial list)</td>
</tr>
<tr>
<td valign="top" width="300">
<ul>
<li>Class Count </li>
<li>File Count </li>
<li>Function Count </li>
<li>Line Count </li>
<li>Blank Line Count </li>
<li>Code Line Count </li>
<li>Comment Line Count </li>
<li>Inactive Line Count </li>
<li>Declarative Statement Count </li>
<li>Executable Statement Count </li>
<li>Ratio Comment to Code </li>
</ul>
</td>
<td valign="top" width="300">
<ul>
<li>Cyclomatic Complexity </li>
<li>Knots </li>
<li>Class Coupling </li>
<li>Percent Lack of Cohesion </li>
<li>Path Count </li>
<li>Max Inheritance </li>
<li>Base Class Count </li>
<li>Inherited Class Count </li>
<li>Number of Instance Methods </li>
<li>Weighted Methods per Class </li>
</ul>
<p>For a full list see <a title="What metrics does Understand have?" href="http://www.scitools.com/documents/metrics.php" target="_blank">this list</a>.             </p>
</td>
</tr>
</tbody>
</table>
<h1>Understand Engineer</h1>
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td valign="top">
<h3>Metrics Summary </h3>
<p> The metrics summary provides an overview of the basic project metrics. For example I can quickly see how large my codebase is or how well I do at commenting my code. If there are snapshots in the project, you can also view the same metrics for those snapshots.&#160;
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_13.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 10px 0px 0px; border-right-width: 0px" height="123" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_4.png" width="180" border="0" /></a></p>
</td>
<td valign="top"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_13.png"></a><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_11.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 0px 35px; border-right-width: 0px" height="323" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_3.png" width="269" border="0" /></a></a></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td valign="top" width="200">
<h3>Code Volume Graph</h3>
</td>
<td valign="top" width="200">
<h3>File Volume Graph</h3>
</td>
</tr>
<tr>
<td valign="top" width="200"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_15.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="154" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_5.png" width="188" align="right" border="0" /></a></td>
<td valign="top" width="200"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_17.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="154" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_6.png" width="188" align="right" border="0" /></a></td>
</tr>
<tr>
<td valign="top" width="200">This graph gives a quick view of what percentage of the source is executable code, declarative code, comments, and blank lines. </td>
<td valign="top" width="200">And this provides an overview of how many files are in your project and their breakout.</td>
</tr>
</tbody>
</table>
<h1>Understand Pro</h1>
<h3>Metrics Browser</h3>
<p>The metrics browser is an efficient way to access all of your available metrics. With the metrics browser you quickly see the high level project overview metrics from <em>Understand Engineer.</em> You can also drill down through your file structure or other architectures to quickly see the basic metrics for any subset of your code. For example, in this case I can quickly see how many lines of code Mark owns and the breakout of that code. </p>
<p>If I drill down to the file level, I can actually get the Advanced metrics for any particular file I&#8217;m interested in as well.</p>
</p>
<p><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_19.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="286" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_7.png" width="359" border="0" /></a><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_21.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="286" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_8.png" width="304" border="0" /></a></a></p>
<p>&#160;</p>
<h3>&#160;</h3>
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td valign="top" width="300"><em><br />
<h3><em>Export Metrics</em></h3>
<p> Understand Pro</em> let&#8217;s you select and export metrics to csv files, which you can then slice and dice with your favorite spreadsheet editor. The metrics you select are exported for files and all Major Language Elements e.g. class, function, methods, structs etc.</td>
<td valign="top" width="300"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_23.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_9.png" width="239" border="0" /></a></td>
</tr>
</tbody>
</table>
<p>&#160; <a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_25.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="92" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_10.png" width="604" border="0" /></a></p>
<p>&#160;</p>
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td valign="top" width="200">
<h3>Average Complexity</h3>
</td>
<td valign="top" width="200">
<h3>Sum Complexity</h3>
</td>
</tr>
<tr>
<td valign="top" width="200"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_15.png"></a><<br />
a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_27.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="154" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_11.png" width="193" border="0" /></a></a></td>
<td valign="top" width="200"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_17.png"></a><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_29.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="154" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_12.png" width="192" border="0" /></a></a></td>
</tr>
<tr>
<td valign="top" width="200">This graph shows how complex your code is on average using the <a href="http://en.wikipedia.org/wiki/Cyclomatic_complexity" target="_blank">cyclomatic complexity</a> metric and also how deeply nested your code is.</td>
<td valign="top" width="200">And this shows the total number of paths through your code, the cumulative <a href="http://en.wikipedia.org/wiki/Cyclomatic_complexity" target="_blank">cyclomatic complexity</a>, and <a href="http://en.wikipedia.org/wiki/Essential_complexity" target="_blank">essential complexity</a>.</td>
</tr>
</tbody>
</table>
<h1>Understand Analyst</h1>
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td valign="top">
<h3>Metrics Browser</h3>
<p>In addition to the Metrics Browser functionality in Understand Pro, Understand Analyst provides Advanced metrics for any level of an Architecture tree, so if I wanted to know the average complexity of Mark&#8217;s code, that information is right there.</p>
</td>
<td valign="top"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_31.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="148" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_13.png" width="244" border="0" /></a></td>
</tr>
</tbody>
</table>
<h3>Export to HTML</h3>
<p>The entire set of Advanced Metrics in the Metrics Browser can be exported to HTML using <em>Analyst</em>. This report is perfect for posting on the team intranet and provides quick access to a very wide range of information. </p>
<p>&#160;<a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_33.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="338" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_14.png" width="604" border="0" /></a></p>
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td valign="top">
<h3>Browse Metrics Graphs</h3>
<p>This feature is where <em>Understand Analyst</em> really shows its strength as a premium metrics tool. This window gives you the capability to generate an unlimited number of metrics graphs. </p>
<p>There are two major report categories here, Project metrics and Change Metrics. Project metrics are based on the snapshot you are looking at. Change metrics let you see how those project metrics have changed between different points in time. For example I can graph how many lines of code each engineer owns in my current database using project metrics. Using the change metrics I can see how many lines of code each engineer added, changed and removed since the last build. </p>
</td>
<td valign="top"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_37.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_16.png" width="147" border="0" /></a></td>
</tr>
</tbody>
</table>
<p>The examples below are just a few reports generated almost instantly using Understand Analyst. </p>
<table cellspacing="0" cellpadding="0" width="600" border="3">
<tbody>
<tr>
<td valign="top" width="300"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_39.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_17.png" width="304" border="0" /></a>           <br /><strong>Code volume by Staff &#8211; Go Mark!</strong></td>
<td valign="top" width="300"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_47.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_21.png" width="317" border="0" /></a>           <br /><strong>Code Breakdown by Language</strong>&#160;</td>
</tr>
<tr>
<td valign="top" width="300"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_41.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_18.png" width="307" border="0" /></a>           <br /><strong>Classes Modified between builds by Staff</strong></td>
<td valign="top" width="300"><a href="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_45.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://scitools.com/blog/wp-content/uploads/mt-old/WindowsLiveWriter/MetricsGalore_A26B/image_thumb_20.png" width="310" border="0" /></a>           <br /><strong>Files Changed between builds by staff</strong></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2008/07/documentation-how-to-get-metrics-with-understand-20.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

