<?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>Software Testing Tools Blog - Testertools &#187; C code</title>
	<atom:link href="http://www.testertools.com/blog/tag/c-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.testertools.com/blog</link>
	<description>The latest news and blog information from testertools.com</description>
	<lastBuildDate>Fri, 03 Feb 2012 11:24:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New TesterTools &#8211; GCT</title>
		<link>http://www.testertools.com/blog/new-testertools-gct-c-coverage-tool/</link>
		<comments>http://www.testertools.com/blog/new-testertools-gct-c-coverage-tool/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 09:27:53 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[GUI Testing]]></category>
		<category><![CDATA[C code]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[coverage]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[GCC 2.x constructs]]></category>
		<category><![CDATA[GCC Code]]></category>
		<category><![CDATA[GCC1.x]]></category>
		<category><![CDATA[GCT]]></category>
		<category><![CDATA[GNU C Compiler]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[multiprocessor kernel]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[source-to-source translation]]></category>
		<category><![CDATA[TesterTools]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[Unix kernel]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.testertools.com/blog/?p=581</guid>
		<description><![CDATA[<br/>GCT was my third coverage tool.  It instruments C code in a source-to-source translation, then passes the instrumented code to a compiler.  Its first major use was on a Unix kernel, so it is suitable for measuring the coverage of embedded systems.
In addition to branch and multiple-condition coverage, it also has boundary-condition and loop coverage.  ]]></description>
			<content:encoded><![CDATA[<br/><p><strong><a href="http://www.cs.technion.ac.il/Courses/OOP/slides/export/236804-Fall-1997/gct/sld004.htm">GCT</a></strong> was my third coverage <strong>tool</strong>.  It instruments <strong>C code</strong> in a <strong>source-to-source translation</strong>, then passes the instrumented code to a <strong>compiler</strong>.  Its first major use was on a<strong> Unix kernel</strong>, so it is suitable for measuring the coverage of <strong>embedded systems</strong>.</p>
<p>In addition to branch and multiple-condition coverage, it also has boundary-condition and loop <strong>coverage</strong>.  I find those useful and inexpensive types of coverage, and I&#8217;m disappointed that more <strong>coverage tools</strong> don&#8217;t include them.</p>
<p>It also contains a type of coverage we used for evaluating stress testing of a <strong>multiprocessor kernel</strong>.</p>
<p>However: GCC was written in 1992 using the<strong> GNU C compiler (gcc)</strong> as a base.  For reasons too boring to explain, it still has most of the original <strong>GCC code</strong> in it.   The practical effect of that is that porting <strong>GCT</strong> is not as trivial as it should be. Although there are <strong>Linux</strong> and <strong>Solaris</strong> ports, I do not have appropriate configuration files for them.  (If you do, please send them to me.)  There are no ports to any version of <strong>Windows</strong> or other <strong>non-Unix operating systems</strong>.  I would be stunned to see one.</p>
<p>Since <strong>GCT</strong> is based on<strong> gcc 1.x</strong>, it does not handle some <strong>gcc 2.x constructs</strong>.  There has been a mostly-completed port from <strong>gcc 1.x</strong> to <strong>2.x</strong>, but I have not used it myself.</p>
<p><strong>GCC</strong> has no<strong> GUI for looking at coverage results</strong>.  The output is formatted like error messages from a compiler.  It comes with an <strong>Emacs mode </strong>(based on M-x next-error) that I rather liked.  But non-<strong>Emacs users</strong> are left out in the cold &#8211; as they are in so many things. <img src='http://www.testertools.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>View <strong><a href="http://www.testertools.com/11288/GCT_-_C_coverage_tool.html" target="_blank">TesterTools</a> </strong>dedicated page for this tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testertools.com/blog/new-testertools-gct-c-coverage-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

