Researchers from a German university have developed a model to predict programming errors in applications.
The method has the potential to save software companies money by allowing them to isolate parts of their code that need more rigorous testing, says Kim Herzig, a researcher at the Universität des Saarlandes in Saarbrücken, who wrote his master's thesis on the project.
"We try to find which aspects of code correlate to defects in the past," Herzig says.
Software companies rarely test every single line of code in their software. Testing is expensive, and companies are under pressure to release products. But fixing bugs after a product has been released is also expensive and inconvenient for customers, Herzig says.
The model is tailored to a specific software program undergoing an upgrade. The program's version history and bug reports are analysed. The source code is also examined to find out how modules within the software interact with each other.
The model also looks at how the developers communicated with one another, examining their email, instant message conversation and discussions on forums.
"We try to mine these sources and find out if there are certain patterns and behaviours of the developers that correlate with defects," Herzig says.
Researchers then use statistical analysis to build the predication model. It does not uncover the number of defects or precisely where those defects may be in the code. Instead, the model will indicate, for example, that a section of code has a 70% probability of containing a defect, Herzig says.
The university's work has gained the attention of software giants SAP and Microsoft, both of which have invited researchers to test the model on their software. Since the work involves looking at source code — which is considered highly valuable intellectual property — the university's researchers went to the companies' facilities and signed nondisclosure agreements, Herzig says.
The invites are welcome, as the model still needs fine tuning, Herzig says. Other interest has come from IBM, which gave the researchers US$25,000 (NZ$31,460) to see how the model can be applied to Jazz, a project focused on building a collaboration platform for software development, he says.