Mike Hennell, founder of LDRA – which specialises in tools that analyse safety and security critical software – found himself in that situation in the mid 1970s, when he was Professor of Mathematical Sciences at Liverpool University.
“I had the same algorithm implemented in three different languages,” he said. “When I ran the algorithms, I got three different answers. Those three algorithms should have been giving the same answer in any language.”
Looking to understand why this was happening, Hennell built some software tools. “I was asking ‘how do I know I’m getting the right answer?’. I wasn’t sure, so I investigated by tracing the execution of the programs to find out where they diverged. It was dynamic, rather than static, analysis and some of the explanations were astonishing. For example, in one language, we thought we were using floating point hardware when, in fact, we were using floating point software.”
Hennell’s students found they could use the tools to get their programs running correctly. “They then went out into the world and found they didn’t have anything to test their programs with, so they came back to the university to buy them. But the university wasn’t happy to take money directly.” And so a company was born with the formal name of Liverpool Data Research Associates.
Hennell said that, for many years, the company was run as a means of supporting his research at the university. It was only in the 1990s that the company became a commercial entity.
“We were researching a better way of analysing software,” he recalled. “More sophisticated dynamic analysis methods. Sometimes, we couldn’t detect errors early in the process without having to do dynamic analysis, so we enhanced the static analysis capabilities. There are certain ways to do things,” Hennell continued, “that will make your life easier.”
LDRA was mostly alone in developing such software, Hennell noted. “We didn’t have any competition, but neither did we have a market. We were checking out things that would identify errors,” he continued. “It’s easy to enhance such tools once you have them, but we had to do an enormous amount of R&D because the techniques weren’t available at the time.”
Nevertheless, many companies were developing software at the time. Some were doing a good job, said Hennell. “And a surprising number were intent on doing a good job. The telecomms industry was the pioneer of software quality.”
LDRA got a boost from an unexpected source in the early 1980s. “The Japanese Fifth Generation Computer initiative gave us a lot of indirect help,” Hennell noted. The initiative raised concerns in the US and Europe about the future of their computing industries and these concerns spawned Esprit and Alvey projects, amongst others. “We did well from these,” Hennell admitted. “These projects needed industry and academia to work together and I was in a good place to form those consortia.”
After 23 years at Liverpool University, Hennell left to work full time at LDRA. “I hired the first salesman in the early 1990s,” he recalled.
Because LDRA was pretty much the only company in its field, it had a stream of customers coming to its door. “Companies were coming to us,” said Hennell, “we weren’t looking for them. The company was regularly presenting research papers at conferences, which meant that we were very well known and so companies would get in contact with us.”
One of the company’s early projects saw it become involved with the Eurofighter project. “Another of our big projects was with a German bank,” Hennell said. “It cared about the quality of its software and made a big effort to get it right. Ericsson was helpful in the early days, as was Nokia.”
LDRA was mainly working with international companies. “They pushed us forward,” Hennell reflected. “They could see the value of our tools and encouraged us to move in a particular direction. Amazing people in the industry did us an enormous amount of good.”
More recently, LDRA has been collaborating with other software companies, including Green Hills Software. “Our customers know they have to buy a range of tools for a particular job. They feel happier if the tools work together,” Hennell said. “If you have a track record and can show your tools can be integrated, you will have an advantage because people don’t want to find out things the hard way. If you can show there’s a less risky approach, they’ll be more interested.”
But he pointed out that integrating with other tools is an expensive business and one fraught with problems. “Over the years,” he continued, “we’ve integrated with a large number of tools, many of which are no longer around.”
LDRA’s current challenges focus on scale. “Today’s systems are huge,” Hennell said, “and are beyond one person to understand. So tools are needed to document what systems do.”
One LDRA project involved Formula 1, where it was retained to explore whether teams were ‘bending the rules’. “We did that by analysing the documentation,” Hennell said.
Now, LDRA’s activities include standards and security. “Security isn’t a new world for us,” Hennell explained. “We look for faults, but we don’t know what the application is; we just see the code and apply the same techniques.
“The faults we find are common and are being exploited. They’ve always been there, but there’s a bigger emphasis today. I don’t think there’s a great deal of difference between security and safety because if it can cause a security problem, it could cause a safety problem.”
The future? “I don’t see an end to what we’re doing,” Hennell concluded. “We haven’t explored half the things we could. There’s so much to do and I don’t see us getting bored.”
Mike Hennell After 23 years as a professor at the University of Liverpool, Dr Mike Hennell founded LDRA and was the principal architect of the LDRA tool suite. As technical director, he continues to guide the development of LDRA technology. He actively participates on both the MISRA C and C++ committees, as well as the international committee developing and promoting the new avionics software standard, DO-178C. Mike has committed more than 40 years to developing and promoting cutting edge software testing and development processes to enhance software quality and reliability. |