9

My MSc thesis work in Computer Science involves developing a software solution for a particular problem for which already exist several solutions, in particular commercial software. I know I can't ignore them in my work and have to cite them, but I have no access to them, so I can't perform any comparisons to prove that my work will actually contribute to research in this field, rather than simply being another software program trying to deal with the problem.

What's the best approach in this case?

aeismail
  • 173,481
  • 34
  • 418
  • 736
DanTheMan
  • 93
  • 3
  • 5
    What does your advisor say about your dilemma? – Mad Jack May 24 '14 at 00:49
  • 5
    Some software companies have trial licenses or inexpensive/free licenses for universities. A company might also provide a copy (perhaps for a limited time) for research purposes. – mkennedy May 24 '14 at 15:16
  • How about contacting the software vendors, and telling them about your work? In return for a (time limited?) license, you would inform them about your results that will improve their products for free. –  May 24 '14 at 17:45
  • 1
    Is it that the commercial software is prohibitively expensive ? If it's relatively cheap you could always ask your advisor to buy a license. – Suresh May 24 '14 at 18:50
  • The research domain is delicate (forensics) so it's not so straightforward to obtain a license for this kind of software, furthermore do you really think that they would let a potential "concurrent" to prove that their work can be improved? – DanTheMan May 24 '14 at 19:50
  • Well if it's a commercial product then I assumed it was being sold. – Suresh May 24 '14 at 21:29
  • You can try to find collaborators that have the software and could run them for you. You can offer them authorship in exchange to sweeten the deal. – Leo Uieda May 27 '14 at 12:05

2 Answers2

5

It's my experience that software companies attempt to secure intellectual property rights for their codes in the form of patents. This is especially true in the United States. You could attempt to find information about the subject matter that you are interested in using the publicly available US Patent and Trademark Office portal, PAIR.

A search on a company name - as applicant, or keywords in the title or abstract might get you somewhere. If you are successful, you will not - necessarily - find code. What you might get is an outline of how the patent's subject matter fits into the existing state-of-the-art. In this way, you can map out what these commercial vendors' software does and if your work will extend the subject.

Nicholas
  • 9,438
  • 1
  • 28
  • 58
  • 1
    My experience agrees with the above. I must comment that the above answer is probably the closest you'll get to knowing how competing software works. But I want to add: keep in mind patents are written in a way that sufficiently secures IP. It does not typically provide sufficient information to replicate the result, if the legal team is skilled. Pseudo code or description would be missing key points and also have difficult to implement complications not used. The product typically does not work the way a patent is structured. A program seeming to improve on a patented one may be identical. –  Jun 03 '14 at 02:34
  • 1
    @Guido: if you can show that any given patent does not give full and complete disclosure on how to work the subject matter of the invention, then you can apply to have the patent declared invalid on grounds of insufficiency. See e.g., http://en.wikipedia.org/wiki/Sufficiency_of_disclosure

    Therefore, by law a patent must provide sufficient information to work the invention, or the patent is invalid. It's the deal an inventor strikes with the state: show the state your clever idea, so that any skilled in the art can replicate it, and you can have 20 years monopoly to work your invention

    – Nicholas Jun 03 '14 at 02:41
  • 1
    @ Nicholas, skill in the art is not typically the same for all individuals in the industry. Each valid patent can be replicated strictly speaking, but easier said than done. For example a key part in a system is that parts must be machined within low tolerances. Or the program can be realized in only one way that is efficient and one way that is inefficient. A skilled technician would know this, and it does not pertain to the patented claims. Anyone with experience would know this but skill is scarce. Experienced workers are scarce. And this experience does not have to be disclosed. –  Jun 03 '14 at 04:08
  • In the above example low tolerances may be very difficult in practice to achieve and the number of defects another firm not specialized in the work would have makes their version of the product cost more than their competitors. This entails a significant sidestep in the production line then. And if somebody else too adds this step in their own process, they are not necessarily doing anything distinguishable from what the original inventor was actually doing, even if it was not declared. My point was not to dispute you post (I gave +1) but merely to add this reservation. –  Jun 03 '14 at 04:28
  • @GuidoJorg: Thanks for the +1, and I hope we don't tire our readers with these long comments!

    Regarding your example of machining parts with low tolerances - if a skilled person would not have considered this a requirement, and the patent didn't clearly indicate this requirement, then the patent could be considered insufficient. The experience doesn't have to be disclosed, you are right. Hence the perennial difficulties of courts to establish "the skilled person" to whom the patent is written.

    Another issue is that, in the US at least, if the patent applicant knows of a better way of ...

    – Nicholas Jun 03 '14 at 04:31
  • ...working the invention than that disclosed in the patent, then there is a chance the patent will be invalid. There is an obligation in the US to disclose the best mode/practice/evolution of the invention in the patent application. Leaving information out can leave the patent vulnerable.

    The "skilled reader" is a legal construct. It isn't a single person, nor can the skilled person be expected necessarily to exist. The skilled reader could be a team, for instance. It's a tricky business, working out sufficiency.

    – Nicholas Jun 03 '14 at 04:35
  • Agreed, hence sometimes a challenge for the reader of knowing whether or not he/she per se did something different from the patent. –  Jun 03 '14 at 04:43
  • This is the first good consequence of the software patents I have seen. – Davidmh Jun 03 '14 at 11:51
2

If you want to shoot high, read their advertisement. If they want people to buy their stuff, they probably say something like Recovered 78% of the data after feeding the hard drive to a white shark. Note that this benchmark will be done in the best possible conditions for their specific algorithms, but will give you a nice high target. If you get anywhere close, awesome! If you beat them, tell them to hire you!

If this is not available, you may email the company and ask them for a benchmark or some sort of quality assurance.

Lastly, to state the obvious: have you tried to search for "[name of the program] benchmark"? Maybe someone with a licence has done it and posted it online or on a research paper.

Davidmh
  • 21,215
  • 5
  • 60
  • 105