<?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 Analysis and Forensic Engineering &#187; lines of code</title>
	<atom:link href="http://www.safe-corp.biz/blog/tag/lines-of-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.safe-corp.biz/blog</link>
	<description>Software IP Blog from SAFE Corporation</description>
	<lastBuildDate>Mon, 30 Jan 2012 04:10:43 +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>The Software IP Detective&#8217;s Handbook</title>
		<link>http://www.safe-corp.biz/blog/2011/05/02/the-software-ip-detectives-handbook/</link>
		<comments>http://www.safe-corp.biz/blog/2011/05/02/the-software-ip-detectives-handbook/#comments</comments>
		<pubDate>Mon, 02 May 2011 14:23:04 +0000</pubDate>
		<dc:creator>Bob Zeidman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CLOC]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[copyright infringement]]></category>
		<category><![CDATA[DMCA]]></category>
		<category><![CDATA[expert witness]]></category>
		<category><![CDATA[forensic engineering]]></category>
		<category><![CDATA[forensics]]></category>
		<category><![CDATA[infringement]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[lawsuit]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[litigation]]></category>
		<category><![CDATA[object code]]></category>
		<category><![CDATA[patent]]></category>
		<category><![CDATA[patent infringement]]></category>
		<category><![CDATA[plagiarism]]></category>
		<category><![CDATA[plagiarism detection]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software analysis]]></category>
		<category><![CDATA[software plagiarism]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[trade secret]]></category>
		<category><![CDATA[trade secret theft]]></category>
		<category><![CDATA[transfer pricing]]></category>
		<category><![CDATA[valuation]]></category>

		<guid isPermaLink="false">http://www.safe-corp.biz/blog/?p=203</guid>
		<description><![CDATA[My book on software intellectual property has just been published by Prentice-Hall.]]></description>
			<content:encoded><![CDATA[<p>My book on software intellectual property, a labor of love (and hate) for the last two years, has just been published by Prentice-Hall. The book is intended for several different audiences including computer scientists, computer programmers, business managers, lawyers, engineering consultants, expert witnesses, and high-tech entrepreneurs. Some chapters give easy-to-understand explanations of intellectual property concepts including copyrights, patents, and trade secrets. Other chapters are highly mathematical treatments describing quantitative ways of comparing and measuring software and software IP. The first chapter of the book outlines which chapters are most important for the different audiences.</p>
<p>Overall the book covers the following topics:</p>
<ul>
<li>Key concepts of software intellectual property</li>
<li>Comparing and correlating source code for signs of theft or infringement</li>
<li>Uncovering signs of copying in object code when source code is inaccessible</li>
<li>Tracking malware and third-party code in applications</li>
<li>Using software clean rooms to avoid IP infringement</li>
<li>Understanding IP issues associated with patents, open source, and DMCA</li>
</ul>
<p>You can purchase your copy from Amazon.com <a href="http://www.amazon.com/dp/0137035330/ref=as_li_tf_til?tag=zeidmanconsultin&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=0137035330&amp;adid=18P9PSPJ8KM2S9C43FC9&amp;" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.safe-corp.biz/blog/2011/05/02/the-software-ip-detectives-handbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeMeasure is now free</title>
		<link>http://www.safe-corp.biz/blog/2011/03/05/codemeasure-is-now-free/</link>
		<comments>http://www.safe-corp.biz/blog/2011/03/05/codemeasure-is-now-free/#comments</comments>
		<pubDate>Sun, 06 Mar 2011 00:11:35 +0000</pubDate>
		<dc:creator>Bob Zeidman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CLOC]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software analysis]]></category>
		<category><![CDATA[transfer pricing]]></category>
		<category><![CDATA[valuation]]></category>

		<guid isPermaLink="false">http://www.safe-corp.biz/blog/?p=189</guid>
		<description><![CDATA[You can now run CodeMeasure for free to graph the growth of your software project development effort over multiple versions of the software. CodeMeasure uses the Changing Lines of Code (CLOC) method to calculate the growth.]]></description>
			<content:encoded><![CDATA[<p>You can now run CodeMeasure to graph the growth of your software project development effort over multiple versions of the software. CodeMeasure uses the Changing Lines of Code (CLOC) method to calculate the growth. The graph that CodeMeasure produces illustrates various CLOC measurements. An example is shown below.</p>
<p><img class="alignnone" title="CLOC graph" src="http://www.SAFE-corp.biz/graphics/screen_shots/CLOCgraph_small.png" alt="" width="549" height="310" /></p>
<p>Now there is a caveat (we do need to make a profit after all). You can examine the graph and take a screen shot of it, but you can&#8217;t save the results to a spreadsheet without a paid license. The good news is that a license is only $500 for a 1-year unlimited license. You can download CodeMeasure here and purchase a license here. This way you get to try out CodeMeasure and see how the results can help you measure your software development effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.safe-corp.biz/blog/2011/03/05/codemeasure-is-now-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Words to fear: I&#8217;m from the government and I&#8217;m here to help</title>
		<link>http://www.safe-corp.biz/blog/2010/11/01/words-to-fear-im-from-the-government-and-im-here-to-help/</link>
		<comments>http://www.safe-corp.biz/blog/2010/11/01/words-to-fear-im-from-the-government-and-im-here-to-help/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 07:13:04 +0000</pubDate>
		<dc:creator>Bob Zeidman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[patent]]></category>
		<category><![CDATA[patent infringement]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software analysis]]></category>
		<category><![CDATA[software plagiarism]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://www.safe-corp.biz/blog/?p=161</guid>
		<description><![CDATA[The  Peer-to-Patent program seems like a good idea. In order to speed up the granting of good patents and quickly eliminate the bad ones, allow people from everywhere and anywhere to submit prior art. If that's actually the way it worked, it would be a great resource for finding prior art and making the patent office more efficient. Unfortunately my experience is that the program creates more problems than it fixes. ]]></description>
			<content:encoded><![CDATA[<p>So the government is finding ways to fix the patent system. One of those fixes is the  <a href="http://www.peertopatent.org/" target="_blank">Peer-to-Patent </a>program. It seems like a good idea. In order to speed up the granting of good patents and quickly eliminate the bad ones, allow people from everywhere and anywhere to submit prior art. If that&#8217;s actually the way it worked, I&#8217;d celebrate; it would be a great resource for finding prior art and making the patent office more efficient. Unfortunately my experience is that the program creates more problems than it fixes. The patent office invited me to participate in the program. Two people posted &#8220;invalidating prior art&#8221; for my patent application entitled &#8220;<a href="http://www.peertopatent.org/patent/20090089754/activity" target="_blank">Detecting Plagiarism in Computer Source Code</a>.&#8221; This art was related to my invention, but definitely was not invalidating. Here is the first independent claim of my original patent application:</p>
<ol>
<li>A computer-implemented method comprising:
<ul>
<li>creating, by a computer system, a first array of lines of functional program code from a first program source code file, the first program source code file including the lines of functional program code of a first program and lines of nonfunctional comments of the first program;</li>
<li>creating, by the computer system, a second array of lines of nonfunctional comments from a second program source code file, the second program source code file including lines of functional program code of a second program and the lines of nonfunctional comments of the second program;</li>
<li>comparing, by the computer system, the lines of functional program code from the first array with the lines of nonfunctional comments from the second array to find similar lines;</li>
<li>calculating, by the computer system, a similarity number based on the similar lines; and presenting to a user an indication of copying of the first program source code file wherein said indication of copying is defined by the similarity number.</li>
</ul>
</li>
</ol>
<p>Here is the only dependent claim of the prior art patent US <a href="http://www.freepatentsonline.com/7568109.html" target="_blank">7,568,109</a>:</p>
<ol>
<li>A system for comparing at least a first corpus to a second corpus, comprising:
<ul>
<li>an analyzer identifying concepts in the corpuses, said analyzer determining a frequency rating of each of said concepts in each corpus;</li>
<li>for each corpus, replacing each instance of each of said concepts with its respective determined frequency rating to create a frequency file;</li>
<li>and a comparator comparing the frequency file for the first corpus to the frequency file for the second corpus, wherein said comparing the frequency file for the first corpus to the frequency file for the second corpus further comprises comparing portions of one corpus against the other corpus.</li>
</ul>
</li>
</ol>
<p>The second prior art submission was simply a reference to the UNIX diff command. While the diff command is relevant, it is a simple line-by line comparison of text files without any understanding or parsing of programming source code. It doesn&#8217;t separate functional lines of code (statements) from nonfunctional lines (comments).</p>
<p>Judging by their remarks, the posters to the Peer-to-Patent site didn&#8217;t understand patents, and didn&#8217;t read the patent claims. They should be allowed to post references, but the ultimate decision must be in the hands of those trained in examining patents. However, the patent examiner told me that her supervisor didn&#8217;t want to issue a patent that had been publicly noted to be invalid, and so after months of arguments I had to arbitrarily narrow the claims to get allowance, resulting in patent US <a href="http://www.freepatentsonline.com/7823127.html" target="_blank">7,823,127</a>. So now, anyone from anywhere with any ulterior motive (particularly those who believe no software should be patentable) can bring about the quick rejection of an otherwise useful and valid patent.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.safe-corp.biz/blog/2010/11/01/words-to-fear-im-from-the-government-and-im-here-to-help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeCLOC for software transfer pricing cases</title>
		<link>http://www.safe-corp.biz/blog/2010/06/01/codecloc/</link>
		<comments>http://www.safe-corp.biz/blog/2010/06/01/codecloc/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 03:21:33 +0000</pubDate>
		<dc:creator>Bob Zeidman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CLOC]]></category>
		<category><![CDATA[expert witness]]></category>
		<category><![CDATA[lawsuit]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[litigation]]></category>
		<category><![CDATA[software analysis]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[transfer pricing]]></category>
		<category><![CDATA[valuation]]></category>

		<guid isPermaLink="false">http://www.safe-corp.biz/blog/?p=133</guid>
		<description><![CDATA[SAFE announces the release of CodeSuite 4.0 that includes CodeCLOC for measuring how software evolves across versions of code. CodeCLOC uses the same algorithms that were implemented in CodeMeasure and that were developed for the landmark software transfer pricing case Symantec v. Commissioner of Internal Revenue.
]]></description>
			<content:encoded><![CDATA[<p>Last month we announced CodeMeasure, our new standalone tool for measuring software growth. This month we announced the release of CodeSuite 4.0 that includes CodeCLOC for measuring how software evolves across versions of code. CodeCLOC uses the same algorithms that were implemented in CodeMeasure and that were developed for the landmark software transfer pricing case <a href="http://www.ustaxcourt.gov/InOpHistoric/veritas.TC.WPD.pdf" target="_blank"><em>Symantec v. Commissioner of Internal Revenue</em></a>.</p>
<p>You&#8217;re probably wondering what is the difference between CodeMeasure and CodeCLOC. CodeMeasure is a simple, inexpensive program for generating the CLOC measurement statistics for multiple versions of a program. CodeCLOC, intended for litigation, compares only two versions of code but produces a detailed database of results that can be further filtered and analyzed using CodeSuite or your own custom tools. The results from CodeCLOC can be presented in court and the CodeCLOC database can be presented to the opposing party for verification.</p>
<p>CodeSuite 4.0 also has a few other nice features including a revamped user interface. There&#8217;s also a new function to generate statistics from any CodeSuite database and the command line interface has been enhanced for integrating with other programs. CodeSuite 4.0 is available for download <a href="http://www.SAFE-corp.biz/downloads_software.htm">here</a> and can be purchased on a term license or project basis. CodeCLOC is priced at $20 per megabyte. A one year term license for CodeSuite is $100,000.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.safe-corp.biz/blog/2010/06/01/codecloc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAFE releases CodeMeasure for software developers</title>
		<link>http://www.safe-corp.biz/blog/2010/05/02/safe-releases-codemeasure-for-software-developers/</link>
		<comments>http://www.safe-corp.biz/blog/2010/05/02/safe-releases-codemeasure-for-software-developers/#comments</comments>
		<pubDate>Sun, 02 May 2010 15:43:52 +0000</pubDate>
		<dc:creator>Bob Zeidman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CLOC]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software analysis]]></category>
		<category><![CDATA[valuation]]></category>

		<guid isPermaLink="false">http://www.safe-corp.biz/blog/?p=126</guid>
		<description><![CDATA[SAFE has just introduced its latest product called CodeMeasure™ that can measure the growth of software.]]></description>
			<content:encoded><![CDATA[<p>SAFE has just introduced its latest product called CodeMeasure™ that can measure the growth of software. Unlike our other products, this one is intended for software developers (look for a litigation version coming soon to CodeSuite). The tool is based on the technique that <a href="http://www.ZeidmanConsulting.com" target="_blank">Zeidman<br />
Consulting</a> developed for the case <em><a href="http://www.ustaxcourt.gov/InOpHistoric/veritas.TC.WPD.pdf" target="_blank">Symantec v. IRS</a></em> that we call the <a href="http://www.iptoday.com/articles/2009-5-baer.asp" target="_blank">Changing Lines of Code (CLOC)</a> method of measuring software changes. It worked pretty well in the Symantec case to help calculate software transfer pricing, and saved Symantec over $500 million in taxes.</p>
<p>We have a whole new website about the product, designed for software developers, at <a href="http://www.CodeMeasure.com" target="_blank">CodeMeasure.com</a>. Check it out and let me know what you think of the product and the website.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.safe-corp.biz/blog/2010/05/02/safe-releases-codemeasure-for-software-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAFE Corporation is looking for great ideas</title>
		<link>http://www.safe-corp.biz/blog/2009/12/02/safe-corporation-is-looking-for-great-ideas/</link>
		<comments>http://www.safe-corp.biz/blog/2009/12/02/safe-corporation-is-looking-for-great-ideas/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 04:49:08 +0000</pubDate>
		<dc:creator>Bob Zeidman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CLOC]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[copyright infringement]]></category>
		<category><![CDATA[forensic engineering]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[litigation]]></category>
		<category><![CDATA[object code]]></category>
		<category><![CDATA[patent]]></category>
		<category><![CDATA[patent infringement]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software analysis]]></category>
		<category><![CDATA[software plagiarism]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[theft]]></category>
		<category><![CDATA[trade secret]]></category>
		<category><![CDATA[trade secret theft]]></category>
		<category><![CDATA[valuation]]></category>

		<guid isPermaLink="false">http://www.safe-corp.biz/blog/?p=99</guid>
		<description><![CDATA[If you have a research idea relating to code analysis, and you can use the SAFE tools, let us know. If your proposal passes our review process you'll get free licenses to our tools, free support, and help getting your results published.]]></description>
			<content:encoded><![CDATA[<p>There are a lot of unanswered questions about source code, and we want to work with you to figure them out. We realize that currently accepted algorithms for analyzing, comparing, and measuring source code leave a lot to be desired in many cases. Also, there are a lot of techniques that have never been studied on large bodies of modern code. For example, measurement techniques developed in the 1970s were probably tested on assembly languages and older programming languages like BASIC, FORTRAN, and COBOL. Do they still hold on modern object oriented languages like Java and C#?</p>
<p>If you have a research idea relating to code analysis, and you can use the SAFE tools, let us know. Email <a href="mailto:larry@SAFE-corp.biz">Larry Melling</a>, VP of Sales and Marketing with your ideas. If they pass our review process you&#8217;ll get free licenses to our tools, free support, and help getting your results published. This could be the beginning of a beautiful friendship.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.safe-corp.biz/blog/2009/12/02/safe-corporation-is-looking-for-great-ideas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How much is your software worth?</title>
		<link>http://www.safe-corp.biz/blog/2009/05/02/how-much-is-your-software-worth/</link>
		<comments>http://www.safe-corp.biz/blog/2009/05/02/how-much-is-your-software-worth/#comments</comments>
		<pubDate>Sun, 03 May 2009 04:46:55 +0000</pubDate>
		<dc:creator>Bob Zeidman</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CLOC]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[lines of code]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[valuation]]></category>

		<guid isPermaLink="false">http://www.safe-corp.biz/blog/?p=76</guid>
		<description><![CDATA[Previous methods of measuring code involve counting lines of code. We realized that we could use CodeDiff and FileCount to compare lines of code to find the number of lines of code that continue from one version to another, the number of lines of code that are changed, and the number of lines of code that are added. Plugging these values into a well-defined spreadsheet allow you to graph this measure of changing lines of code ("CLOC") over time.]]></description>
			<content:encoded><![CDATA[<p>My consulting company <a href="http://www.zeidmanconsulting.com/" target="_blank">Zeidman Consulting</a> worked on a large tax case last year. For reasons involving the labyrinthine regulations of the IRS, it was important to understand how much of the IP of a software program had changed from the time it was first developed ten years ago, through subsequent revisions, until the current version. In the current version, IP remaining from the first version was taxed at one rate while IP added subsequently was taxed at a different rate (this is a simplification based on my limited understanding of tax law). There was <strong>a lot</strong> of money at stake.</p>
<p>Previous methods of measuring code involve counting lines of code. However, that&#8217;s a very poor estimate. Consider an example where an entire function consisting of 10,000 lines of code is replaced with a more efficient function requiring only 9,000 lines of code. Simply counting lines would tell you that there was a net reduction of 1,000 lines of code, which could incorrectly be interpreted as a reduction in IP. We realized that we could use CodeDiff and FileCount to compare lines of code to find the number of lines of code that continue from one version to another, the number of lines of code that are changed, and the number of lines of code that are added. Plugging these values into a well-defined spreadsheet allow you to graph this measure of changing lines of code (&#8220;CLOC&#8221;) over time. The actual valuation of the initial version of the software is a complex process better left to financial analysts, but the CLOC method provides a great way to measure the changes in value.</p>
<p>You can read more about CLOC in the article by Nik Baer and me in<em> Intellectual Property Today</em> entitled <a href="http://www.iptoday.com/articles/2009-5-baer.asp" target="_blank">Measuring Changes in Software IP</a> including a measurement of the Mozilla Firefox open source project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.safe-corp.biz/blog/2009/05/02/how-much-is-your-software-worth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

