Tracking errors in software code
Software Errors: New Technology Briefing For CFOs
Remember a company called Knight Capital that suddenly took trading losses of $400 million, dived into insolvency and had to be rescued by a group of Wall Street firms? Software glitches like that were once the nightmare scenarios that consultants and vendors loved to peddle. Today however, incidents like these are creating demand from large enterprises for technologies that can scan applications and detect errors before they can cause harm. That demand has triggered activity from IT companies in the hopes of cashing in.
One example is Contemplate, a start-up with roots in the University of Edinburgh’s School of Informatics and £4.3 million seed funding from the Scottish government. It claims to have developed technology that can identify errors in software code that don't pop up regularly enough to be detected by conventional tools.
Multi-core processing problem
One source of errors is that a software application today is run across several central processing units (CPU) or ‘cores’. These cores carry out the tasks in a software programme such as adding or deleting data. Multi-core processors are the industry standard today, enabling much faster processing.
But greater speed comes at the cost of computational errors when an application is working across multiple cores. These errors, if spotted early in the application development phase, can be addressed at relatively low cost. If left unattended though, they multiply in unexpected ways once a system comes under heavy use – imagine a bank before a long weekend or trading at the launch of an IPO – and the result is often a system breakdown, with all its consequences.
“Often large organisations applications are developed on desktop PCs with, say, 4 cores. However, these can often be deployed on production infrastructure with 16 or 32 core computers. The risk is obvious,” says Derick James, CEO of Contemplate.
Under the radar
An added problem is that this sort of error doesn't pop up frequently, making it difficult to spot through conventional testing. Dr. Robert Atkey of Contemplate describes it as “inherent non-deterministic behaviour of concurrent code”.
Contemplate claims that their technology can scan software code more efficiently, looking for relationships across lines of code, rather than trying to go through it line by line. “A trading application contains, on average, 300,000 lines of code which makes it difficult to track inter-relationships. Our product can tease out these relationships more effectively which makes for better identification of errors,” says Atkey. “It’s not an error on a single line of code that matters, it’s an error on a code and how it’s related to another code thousands of lines away.”
The applications of such a technology are not very difficult to imagine. James says Contemplate has successfully completed trials with 2 investment banks and is now seeking partnerships with system integrators to make its product available in the market. If it can quickly gain scale, it could pave the way for a new segment in the application testing market.
As IT budgets keep going up, corporate IT departments are looking at ways to introduce rigour in the way costs and returns on investment are calculated and communicated to the rest of the business. Some IT firms offer to do this for the CFO, which should be good news.
Tips From a Tech CFO
EMC Europe CFO Steve O’Neill highlights why it is important for CFOs to understand software and the financial implications of procuring different types of software.
Featured White Paper
Large enterprises worry about giving away their data to a cloud provider. CFOs should ask what resources are in place to enforce service level agreements by cloud vendors.