<?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</title>
	<atom:link href="http://scitools.com/blog/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>Highlighting Unused Entities</title>
		<link>http://scitools.com/blog/2012/04/highlighting-unused-entities.html</link>
		<comments>http://scitools.com/blog/2012/04/highlighting-unused-entities.html#comments</comments>
		<pubDate>Tue, 17 Apr 2012 19:45:52 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[features]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/?p=925</guid>
		<description><![CDATA[We&#8217;ve added a new option to highlight entities that are defined but not used. &#160; To enable this option go into Tools-&#62;Options-&#62;Editor-&#62;Advanced-&#62;Unused Entities Right now this only works for functions and variables. Let us know if you find it useful, and if there are other entities you want it added for.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve added a new option to highlight entities that are defined but not used. </p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2012/04/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2012/04/image_thumb.png" width="357" height="192" /></a></p>
<p>&#160;</p>
<p>To enable this option go into Tools-&gt;Options-&gt;Editor-&gt;Advanced-&gt;Unused Entities</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2012/04/image3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2012/04/image_thumb1.png" width="190" height="110" /></a></p>
<p>Right now this only works for functions and variables. Let us know if you find it useful, and if there are other entities you want it added for.</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/04/highlighting-unused-entities.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Duplicate Code Finder</title>
		<link>http://scitools.com/blog/2012/04/duplicate-code-finder.html</link>
		<comments>http://scitools.com/blog/2012/04/duplicate-code-finder.html#comments</comments>
		<pubDate>Fri, 13 Apr 2012 17:34:00 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/?p=914</guid>
		<description><![CDATA[We just added a plugin to identify duplicated lines of code. You can grab it at the bottom of our GUI Plugins page. Update April,26 2012 &#8211; I&#8217;ve made some extensive changes to this script to improve performance and remove repeated results]]></description>
			<content:encoded><![CDATA[<p>We just added a plugin to identify duplicated lines of code. You can grab it at the bottom of our <a href="http://scitools.com/plugins/plugins.php">GUI Plugins page</a>.</p>
<p><a href="http://scitools.com/plugins/plugins.php"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.scitools.com/blog/wp-content/uploads/2012/04/image1.png" width="342" height="324" /></a></p>
<p><em>Update April,26 2012 &#8211; I&#8217;ve made some extensive changes to this script to improve performance and remove repeated results</em></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/04/duplicate-code-finder.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMake and Understand</title>
		<link>http://scitools.com/blog/2012/04/cmake-and-understand.html</link>
		<comments>http://scitools.com/blog/2012/04/cmake-and-understand.html#comments</comments>
		<pubDate>Tue, 03 Apr 2012 23:01:51 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/?p=908</guid>
		<description><![CDATA[If your team uses cmake to build your projects, you can use it to generate your Understand project. It will add all of the files, setup the correct macro definitions for each file, and setup the correct include files for each file in the project. The advantage of creating an Understand project like this is [...]]]></description>
			<content:encoded><![CDATA[<p>If your team uses <a href="http://cmake.org">cmake</a> to build your projects, you can use it to generate your Understand project. It will add all of the files, setup the correct macro definitions for each file, and setup the correct include files for each file in the project. The advantage of creating an Understand project like this is that the project will be much more accurate than can be created by hand, allowing you to have easier access to all the features of our new <a href="http://scitools.com/blog/2011/10/c-template-and-overload-support-beta.html">strict parser</a>.</p>
<p>In order to use this, </p>
<ol>
<li>Navigate to your build directory</li>
<li>Edit CMakeCache.txt and set CMAKE_EXPORT_COMPILE_COMMANDS to ON. </li>
<li>Run make again, you&#8217;ll see a file called compile_commands.json in your build directory. </li>
<li>To import into an understand project run the following from the command line (skip the red part for existing projects):     <br />&#160;&#160;&#160;&#160; und -db path/to/db.udb <font color="#ff0000">create -languages C++</font> add path/to/build/dir/compile_commands.json settings -c++AddFoundFilesToProject on analyze</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/04/cmake-and-understand.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Structure 101 adds support for Understand</title>
		<link>http://scitools.com/blog/2012/03/structure-101-adds-support-for-understand.html</link>
		<comments>http://scitools.com/blog/2012/03/structure-101-adds-support-for-understand.html#comments</comments>
		<pubDate>Fri, 09 Mar 2012 22:30:10 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2012/03/structure-101-adds-support-for-understand.html</guid>
		<description><![CDATA[Structure101 has several great tools for analyzing and refactoring your code base, and they have just finished adding the ability to import Understand projects into their tools. You should definitely check it out. As an extra incentive, they are offering a free license to the first 3 Understand users who demo one of their tools [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.headwaysoftware.com/">Structure101</a> has several great tools for analyzing and refactoring your code base, and they have just finished adding the ability to <a href="http://www.headwaysoftware.com/blog/2012/03/structure101-adds-doxygen-and-understand-support-for-cc-delphipascal-and-python/">import Understand projects</a> into their tools. You should definitely check it out. </p>
<p>As an extra incentive, they are offering a free license to the first 3 Understand users who demo one of their tools and send an exported image such as the one below of any part of their code or an Open Source project. Just send it to <a href="mailto:hwsupport@headwaysoftware.com">hwsupport@headwaysoftware.com</a> and tell them Kevin sent you <img src='http://scitools.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2012/03/PastedGraphic-1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="PastedGraphic-1" border="0" alt="PastedGraphic-1" src="http://www.scitools.com/blog/wp-content/uploads/2012/03/PastedGraphic-1_thumb.png" width="604" height="242" /></a></p>
<p>To be fair to another great partner, <a href="http://lattix.com/">Lattix</a> can also import your Understand projects and is a great tool for organizing and refactoring your code, so give them a look.</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/03/structure-101-adds-support-for-understand.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Latest Build &#8211; 608</title>
		<link>http://scitools.com/blog/2012/02/latest-build.html</link>
		<comments>http://scitools.com/blog/2012/02/latest-build.html#comments</comments>
		<pubDate>Mon, 27 Feb 2012 18:11:00 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Build Notes]]></category>
		<category><![CDATA[Understand 2.6]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2010/07/latest-build-520.html</guid>
		<description><![CDATA[If your team uses CodeCheck heavily, you will definitely want to upgrade to this build since it fixes some related crashes.&#160;&#160; Build Notes Grab it at www.getunderstand.com]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>
<p>If your team uses CodeCheck heavily, you will definitely want to upgrade to this build since it fixes some related crashes.&#160;&#160; </p>
<p><a href="https://www.scitools.com/support/buildLogs.php">Build Notes</a></p>
</td>
<td valign="top"><a href="http://www.getunderstand.com"><img alt="" src="https://www.scitools.com/images/downloadSub.png" /></a></td>
</tr>
<tr>
<td colspan="2" align="center"><a href="http://www.getunderstand.com">Grab it at www.getunderstand.com</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/02/latest-build.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Running CodeCheck from the Command Line</title>
		<link>http://scitools.com/blog/2012/01/running-codecheck-from-the-command-line.html</link>
		<comments>http://scitools.com/blog/2012/01/running-codecheck-from-the-command-line.html#comments</comments>
		<pubDate>Wed, 11 Jan 2012 20:47:19 +0000</pubDate>
		<dc:creator>heidi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2012/01/running-codecheck-from-the-command-line.html</guid>
		<description><![CDATA[CodeCheck can be set up to run from the command line using Und if that is your preferred work environment, or if you are looking to automate the task. To see all of the options available in Und, run und help. For specific documentation on each option run und help optionName. To run CodeCheck from [...]]]></description>
			<content:encoded><![CDATA[<p>CodeCheck can be set up to run from the command line using <strong><em>Und</em></strong> if that is your preferred work environment, or if you are looking to automate the task. To see all of the options available in <strong><em>Und</em></strong>, run <strong>und help</strong>. For specific documentation on each option run <strong>und help <em>optionName</em></strong>.</p>
<p>To run CodeCheck from the command line, first you will need to export the CodeCheck configuration file from the Understand GUI that has the checks you wish to run selected.</p>
<p>&#160;</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2012/01/codeCheck.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="codeCheck" border="0" alt="codeCheck" src="http://www.scitools.com/blog/wp-content/uploads/2012/01/codeCheck_thumb.jpg" width="594" height="191" /></a></p>
<p>&#160;</p>
<p>Once that is saved to a file, the command line option is </p>
<p><font size="3"><strong>und codecheck C:\path\to\configuration.ini C:\path\to\OutputDir </strong>&#160;</font></p>
<p>Where configuration.ini is my saved configuration file and the results are saved to the OutputDir.&#160;      </p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2012/01/running-codecheck-from-the-command-line.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Address</title>
		<link>http://scitools.com/blog/2011/12/new-address.html</link>
		<comments>http://scitools.com/blog/2011/12/new-address.html#comments</comments>
		<pubDate>Tue, 20 Dec 2011 19:35:25 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[address]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/12/new-address.html</guid>
		<description><![CDATA[We moved our main office this week.&#160; We are still in scenic St George, near Zion National Park and less than two hours from Vegas. If you are in the area feel free to stop by and visit us! Our new address is: Scientific Toolworks, Inc. 249 East Tabernacle, Suite 200 St George, UT 84770]]></description>
			<content:encoded><![CDATA[<p>We moved our main office this week.&#160; </p>
<p>We are still in scenic St George, near <a href="http://www.google.com/search?q=zion+national+park&amp;hl=en&amp;prmd=imvns&amp;source=lnms&amp;tbm=isch&amp;ei=uOjwTq3ZHKqFsgL4rKy3AQ&amp;sa=X&amp;oi=mode_link&amp;ct=mode&amp;cd=2&amp;ved=0CF0Q_AUoAQ&amp;biw=1366&amp;bih=643">Zion National Park</a> and less than two hours from Vegas. If you are in the area feel free to stop by and visit us!</p>
<p>Our new address is:</p>
<p>Scientific Toolworks, Inc.    <br />249 East Tabernacle, Suite 200     <br />St George, UT 84770</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/12/P1060733.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="My 8 year old and I hiking in a nearby canyon" border="0" alt="Hiking" src="http://www.scitools.com/blog/wp-content/uploads/2011/12/P1060733_thumb.jpg" width="318" height="453" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/12/new-address.html/feed</wfw:commentRss>
		<slash:comments>0</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>Indian Distributor</title>
		<link>http://scitools.com/blog/2011/10/indian-distributor.html</link>
		<comments>http://scitools.com/blog/2011/10/indian-distributor.html#comments</comments>
		<pubDate>Tue, 04 Oct 2011 22:22:22 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Scitools Announcements]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[partner]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/10/indian-distributor.html</guid>
		<description><![CDATA[We are happy to announce we have partnered with Bangalore based Meteonic to better serve our growing customer base in India. Meteonic has years of experience in the static analysis industry and will do an excellent job with Understand.&#160; As always, our goal is to provide you the best software value, and the best customer [...]]]></description>
			<content:encoded><![CDATA[<p>We are happy to announce we have partnered with Bangalore based <a href="http://meteonic.com">Meteonic</a> to better serve our growing customer base in India. Meteonic has years of experience in the static analysis industry and will do an excellent job with Understand.&#160; As always, our goal is to provide you the best software value, and the best customer support you have ever experienced. They join our growing list of <a href="http://scitools.com/contact">localized partners</a> who help us provide faster support to our international customer base.</p>
<p>In India? Give them a ring:</p>
<p><strong>Meteonic</strong>     <br /><a href="http://www.meteonic.com/">www.meteonic.com</a>     <br />Tel: +91-9980070704, +91-080-40874900     <br /><a href="mailto:moumita@meteonic.com">moumita@meteonic.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/10/indian-distributor.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving Project Accuracy (C/C++)</title>
		<link>http://scitools.com/blog/2011/09/improving-project-accuracy-cc.html</link>
		<comments>http://scitools.com/blog/2011/09/improving-project-accuracy-cc.html#comments</comments>
		<pubDate>Fri, 16 Sep 2011 16:24:16 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[accuracy]]></category>
		<category><![CDATA[Parse]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/09/improving-project-accuracy-cc.html</guid>
		<description><![CDATA[Usually just identifying the root of your source tree and saying &#34;Analyze&#34; will provide you with a accurate, useful Understand project. Sometimes, however, you need a more accurate representation of your project. Maybe you have large swaths of inactive code that should be enabled, maybe there are grayed out (unresolved) entities that do exist in [...]]]></description>
			<content:encoded><![CDATA[<p>Usually just identifying the root of your source tree and saying &quot;Analyze&quot; will provide you with a accurate, useful Understand project. Sometimes, however, you need a more accurate representation of your project. Maybe you have large swaths of inactive code that should be enabled, maybe there are grayed out (unresolved) entities that do exist in the source code, or maybe the metrics don&#8217;t seem to line up. In cases like this, you will want to use some of the advanced C++ options to fine tune the parse. Here are some things that will improve the parse accuracy.</p>
<p>  <span id="more-863"></span><br />
<h1>Set the Compiler<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/09/image.png" width="316" height="103" /></h1>
<p>Under Project-&gt;Configure Project -&gt; C++ Options there is a section that allows you to set your compiler and the location of your Compilers include files. Setting these two options to the correct settings will provide the default pragmas and macros as well as include files that your project needs. In many cases just performing this one step will be all you need to do to get the accuracy you are after.</p>
<h1>Set Include Paths</h1>
<p>Your project probably depends on header files from other places, both system header files, like time.h, and those to your own team&#8217;s libraries.&#160; The easiest way to identify these header files is to expand the parse log while Understand is parsing, and hit the &quot;Include Paths&quot; button. This will open the <a href="http://scitools.com/blog/2011/04/parse-improvement-tool.html">Parse Improvement Tool</a> that lets you search for and quickly find missing include paths. These include paths can also be specified in Project-&gt;Configure Project -&gt; C++ -&gt; Includes.</p>
<p>Found include files are not added to the project unless you specify the option to do so. Instead Understand will parse those files and record the Macro definitions, types, include paths, and other data that pertains to your projects source files. So when you view information on a class that is used in your project, but defined elsewhere, Understand can now answer questions about it.<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/09/image1.png" width="465" height="212" /></p>
<h1>Set Macros</h1>
<p>While in the parse log, you can also add definitions for undefined macros which will completely change how the code is analyzed. You can define macros at the project level, folder level, or just for a particular file. The <a href="http://scitools.com/blog/2011/08/macro-definitions-improved.html">new tool for specifying macros</a> makes it very easy to identify how often and where a macro is used. That will let you know which ones are most critical to define for an accurate parse. The macros can also be defined in the Project-&gt;Configure Project -&gt; C++ -&gt; Macros page.</p>
<p><a href="http://scitools.com/blog/2011/08/macro-definitions-improved.html"><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="image2[1]" border="0" alt="image2[1]" src="http://www.scitools.com/blog/wp-content/uploads/2011/09/image21.png" width="300" height="294" /></a></p>
<h1>Set File Types</h1>
<p>If you have non standard file extensions, you will want to set them under Project-&gt;Configure Project-&gt;File Types screen. That will ensure that they get parsed correctly. Also, if your project is pure C, you may want to change the appropriate extensions to parse with C instead of C++. This can lead to a more accurate parse for C files.</p>
<h1>Disable the Include Cache</h1>
<p>Project-&gt;Configure Project-&gt;C++ Options has an option to &quot;Use the Include Cache&quot;. This significantly speeds up parsing by caching the values of a file the first time it is looked at. In reality though, every time a file is parse by the compiler its contents can change dynamically based off the context it was included in. Disabling the include cache by unchecking the box will make the parse time slower, but will lead to a more accurate parse.</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/09/improving-project-accuracy-cc.html/feed</wfw:commentRss>
		<slash:comments>2</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>Integrate Understand with your build system</title>
		<link>http://scitools.com/blog/2011/07/integrate-understand-with-your-build-system.html</link>
		<comments>http://scitools.com/blog/2011/07/integrate-understand-with-your-build-system.html#comments</comments>
		<pubDate>Wed, 20 Jul 2011 19:34:53 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[reports]]></category>
		<category><![CDATA[und]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/07/integrate-understand-with-your-build-system.html</guid>
		<description><![CDATA[Many teams want to quickly generate Understand’s HTML reports and metrics as part of their regular build process. The new version of the command line tool ‘und’ provides a lot of options for doing exactly this. In this case, I am going to create an Understand project from the latest version of my source code, [...]]]></description>
			<content:encoded><![CDATA[<p>Many teams want to quickly generate <em>Understand’s</em> HTML reports and metrics as part of their regular build process. The <a href="http://scitools.com/blog/2011/06/re-written-command-line-tool-und.html">new version</a> of the command line tool ‘und’ provides a lot of options for doing exactly this. In this case, I am going to create an Understand project from the latest version of my source code, and generate the html reports and metrics for that version of the code. Since the new version of und has several different modes, I will show how this would be done in each mode.<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.14" border="0" alt="screenshot.14" src="http://www.scitools.com/blog/wp-content/uploads/2011/07/screenshot.14.jpg" width="562" height="89" /></p>
<p> <span id="more-823"></span>
</p>
<h1>Interactive Mode</h1>
<p>Interactive mode is not want you want to use for automating a process, but is useful for testing commands and quick tasks. Running through these commands in interactive mode is a good test to make sure everything is configured the way you want.</p>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tbody>
<tr>
<td valign="top"><strong><u>Command</u></strong></td>
<td valign="top"><strong><u>What it does</u></strong></td>
</tr>
<tr>
<td valign="top"><em>und</em></td>
<td valign="top">Opens und in interactive mode</td>
</tr>
<tr>
<td valign="top"><em><nobr>create –languages C++ c:\project.udb</nobr></em></td>
<td valign="top">Create and open a new C++ project</td>
</tr>
<tr>
<td valign="top"><em><nobr>add c:\path\to\src</nobr></em></td>
<td valign="top">Add the specified directory of source to the project</td>
</tr>
<tr>
<td valign="top"><em>analyze</em></td>
<td valign="top">Analyze the project</td>
</tr>
<tr>
<td valign="top"><em><nobr>settings –reportOutputDirectory c:\htmlDir</nobr></em></td>
<td valign="top">Set the path for the HTML reports</td>
</tr>
<tr>
<td valign="top"><em>report</em></td>
<td valign="top">Generate the HTML reports</td>
</tr>
<tr>
<td valign="top"><em><nobr>settings –metrics all</nobr></em></td>
<td valign="top">Specify to generate all metrics </td>
</tr>
<tr>
<td valign="top"><em><nobr>settings –metricsOutputFile c:\metrics.csv</nobr></em></td>
<td valign="top">Set the path for the metrics csv file</td>
</tr>
<tr>
<td valign="top"><em>metrics</em></td>
<td valign="top">generate the metrics csv file</td>
</tr>
<tr>
<td valign="top"><em>quit</em></td>
<td valign="top">exit interactive mode</td>
</tr>
</tbody>
</table>
<p>If you need to customize these commands more, <em>und help</em> and <em>und help &lt;command&gt;</em> provide thorough documentation. Or feel free to contact us at <a href="mailto:support@scitools.com">support@scitools.com</a></p>
<h1>Batch Mode</h1>
<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="screenshot.17" border="0" alt="screenshot.17" align="right" src="http://www.scitools.com/blog/wp-content/uploads/2011/07/screenshot.17.jpg" width="230" height="98" /> Once you have identified the commands you want to run using interactive mode,&#160; place those exact commands in a text file. No need to include the first <em>und</em> command and the <em>quit</em> command, those are handled automatically.</p>
<p>Then all you have to do is run:</p>
<p><strong>und myCommands.txt</strong></p>
<p>and all the commands in the file will be processed in order. In previous versions of und the project database was opened and closed between each command, when many commands were run on large projects, this could cause significant slowdown. In the new version of und the database stays opened in Interactive and Batch Mode leading to much quicker results.</p>
<h1>Line Mode</h1>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/07/screenshot.11.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.11" border="0" alt="screenshot.11" align="right" src="http://www.scitools.com/blog/wp-content/uploads/2011/07/screenshot.11_thumb.jpg" width="325" height="51" /></a> Single line mode lets you run each command directly in the shell. The Understand database is opened and closed for each command and needs to be specified on each line. It can be specified with the –db parameter, or included as the last parameter. So doing the same thing in Single Line Mode would look like:</p>
<p>&gt;und create -languages C++ c:\project.udb    <br />&gt;und add c:\path\to\src c:\project.udb     <br />&gt;und analyze c:\project.udb     <br />&gt;und settings -reportOutputDirectory c:\htmlDir c:\project.udb     <br />&gt;und report c:\project.udb     <br />&gt;und settings -metrics all c:\project.udb     <br />&gt;und settings -metricsOutputFile c:\metrics.csv c:\project.udb     <br />&gt;und metrics c:\project.udb</p>
<p>Again, this method is a little slower since it opens the database each command, but depending on your build process, it may be easier to implement.</p>
<h1>Single Line Mode</h1>
<p>The same commands can all be run on the same line if desired, which will only open the database once and will be faster, although harder to read. The commands will run in the order entered.</p>
<p>&gt;und -db c:\project.udb create -languages C++ add c:\path\to\src analyze settings -reportOutputDirectory c:\htmlDir report settings -metrics all settings -metricsOutputFile c:\metrics.csv metrics</p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/07/integrate-understand-with-your-build-system.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Re-Written Command Line Tool &#8216;Und&#8217;</title>
		<link>http://scitools.com/blog/2011/06/re-written-command-line-tool-und.html</link>
		<comments>http://scitools.com/blog/2011/06/re-written-command-line-tool-und.html#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:35:00 +0000</pubDate>
		<dc:creator>KevinG</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Scitools Announcements]]></category>
		<category><![CDATA[Understand 2.6]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[und]]></category>

		<guid isPermaLink="false">http://scitools.com/blog/2011/06/re-written-command-line-tool-und.html</guid>
		<description><![CDATA[Build 571 contains a completely re-written version of ‘und’, the command line interface for Understand. The commands have been standardized and the tool should be much easier to use. Because of the extensive changes, this new version is not backwards compatible with older versions of und. The old und will still ship and has been [...]]]></description>
			<content:encoded><![CDATA[<p>Build 571 contains a completely re-written version of ‘und’, the command line interface for <em>Understand</em>. </p>
<p>The commands have been standardized and the tool should be much easier to use. Because of the extensive changes, this new version is not backwards compatible with older versions of und. The old und will still ship and has been renamed <strong>&#8216;undlegacy&#8217;</strong> &#8211; current users will need to change the name of the binary for scripts to continue to work.</p>
<p>In general the syntax for running commands are similar to Subversion and should be much more intuitive than previous versions.</p>
<p>The new version also includes a cool new interactive mode that lets you specify a database and then continually run commands in it, similar to MySQL. </p>
<p>The help documentation has been flushed out extensively and should be much more useful &#8211; just run <strong>und help</strong> for a complete overview of how to use this great new tool. Also this post steps through each different method of using und and demonstrates some of the most common commands: <a href="http://scitools.com/blog/2011/07/integrate-understand-with-your-build-system.html">Integrate Understand with your build system</a>.</p>
<p><a href="http://www.scitools.com/blog/wp-content/uploads/2011/06/screenshot.2.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.2" border="0" alt="screenshot.2" src="http://www.scitools.com/blog/wp-content/uploads/2011/06/screenshot.2_thumb.jpg" width="445" height="373" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://scitools.com/blog/2011/06/re-written-command-line-tool-und.html/feed</wfw:commentRss>
		<slash:comments>2</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>
	</channel>
</rss>

