How stolen software can be found again

Developing software is expensive. This tempts some programmers to incorporate other people’s software illegally into their own programs. The Chair of Software Engineering at Saarland University has developed a method for detecting this type of software theft.

Archive notice: This article was originally published on February 27, 2008. Links and embedded videos are preserved as part of the historical record.

In a test run, it records the characteristic behaviour of a piece of software and can then recognise this in other computer programs. The computer scientists will present their research results at CeBIT 2008 in Hanover from March 4 to 9 at the Saarland research stand (Hall 9, Stand B 35). There, they will also present their methods for automatically finding errors in large computer programs.

Modern software is composed of many building blocks, which makes it vulnerable to theft by software developers. Programs delivered to users, or merely parts of them, can easily be incorporated by a programmer into their own software. Nevertheless, such a copyright infringement is extremely difficult to prove in court. The new method developed by the software-engineering team led by Prof. Andreas Zeller gives software manufacturers better chances in court. If a manufacturer suspects theft, it runs its software and the third-party software using the API BIRTHMARK tool. As a result, it can see how closely the operating methods of the two programs correspond. If the correspondence is high, this suggests theft and justifies further investigations.

Following the motto “Too many cooks spoil the broth”, the Saarbrücken scientists also want to investigate how the working methods of software developers affect software quality – in other words, whether many developers or many changes make software more prone to errors. The aim of the work funded by IBM is to develop automatic assistants that point out potential problems during development and make suggestions for improvement. This could spare the IT industry, which has to invest a great deal of time in testing software, enormous costs and risks. “Our tools observe software development and recommend successful patterns,” says Prof. Andreas Zeller.

For several years, his team has concentrated on systematically searching for errors in large computer programs. Over the past two years, Prof. Zeller was the first researcher able to systematically search Microsoft’s error databases in order to find out in which components the most errors accumulate. Zeller’s statistical methods now predict fully automatically which areas of new programs are most susceptible to errors – so that companies such as Microsoft can then examine these areas particularly carefully.

Further information:

  • API Birthmarking
    Chair f