Telelogic's TAU/Logiscope puts QA in developers' hands
- By John K. Waters
Telelogic has released a new version of its TAU/Logiscope software testing tool. The 6.1 version, which actually began shipping at the beginning of June, focuses on the quality of C, C++, Ada and Java code. It also includes a number of enhancements designed specifically to boost productivity early in the development process.
"Logiscope is about helping organizations to check the quality of their source code," said Andy Gurd, director of product launches. "And [Version] 6.1 is focused on the people who are developing the code directly -- writing it by hand or maintaining existing code."
Malmo, Sweden-based Telelogic might not be the first name that comes to mind when considering testing tools, Gurd admits. The company is, perhaps, better known for its modeling and requirements management products. But Logiscope fits well into the company's overall product strategy, Gurd said.
"The whole idea of tools like Logiscope is to improve quality throughout the software development life cycle to get QA into the process from earlier stages," he told Programmers Report. "It's about introducing quality as you develop the software."
TAU/Logiscope is designed to automate activities associated with software quality assurance, check software under development against corporate/industry rules and standards, analyze the software code for error-prone sections, provide measurements of test coverage, and improve the quality and maintainability of legacy software.
The tool comprises three components: Rule Checker, Audit and Test Checker. The Rule Checker tests against a set of standard coding rules -- best practice rules for coding conventions -- looking for bad coding practice in the source code, Gurd explained. "It'll tell you where the problem is, what the problem is and give you a recommendation for how to fix it. It's kind of like a grammar checker for software."
The Audit component assesses the code against industry best practices, Gurd said, using various metrics based on industry standards. "This is the most interesting part of the product," he said. "It gives you the assessment of whether your code is of good quality or not, which is actually quite a hard thing to do." Audit provides graphical pictures of the code, highlighting issues with symbols and colors. The top level provides a pie chart from which users drill down to "control graphs" or "call graphs."
"It answers a number of questions," Gurd said. "Is this code easy to maintain? Is it well structured? Is it well-written? Is it too complex? How easy is it going to be to test this application? How easy is it going to be to maintain it in the future? It's future proofing of the application. It not only makes it easy and correct right now, but makes it easy for others to pick it up and maintain later."
The third component, Test Checker, is designed to instrument the source code so that there is complete code coverage of the test scripts run against it, he noted.
But the most significant improvement in this version is its speed, Gurd said. Logiscope is now fast enough to allow developers to use it to check their own code during the build process, he said, and that could change the relationship of coders with QA.
"Traditionally, you had the developers writing the code and then, once a week or once a month, the QA team would get that code and run it through Logiscope, get back the reports and then tell the developers what needed to be fixed," Gurd explained. "By making the checking fast enough so that the developers themselves can use it in their daily work, better quality software is delivered much faster."
And as it speeds up the development process, Gurd added, Logiscope empowers and educates developers. "The developers can use Logiscope to catch the problems themselves and fix them before the QA team ever sees the code," he said. "Hopefully, as you use Logiscope, you're going to make fewer of those mistakes because it not only tells you what you did wrong, it gives you examples of how you could fix it. Over time, you should start to see it reporting fewer and fewer errors as you write better and better code."
Putting Logiscope directly into developers' hands could also serve coders who are new to a team or a company, Gurd said, getting them up to speed with the standards of the group. "I'm not suggesting that it can turn bad developers into good developers," he said, "but because you can customize the rule-checking, someone new to the team will be able to get up to speed more quickly."
Telelogic also offers add-on rules packages for TAU/Logiscope for specific industry standards compliance. For example, one rules package addresses the requirements of the Motor Industry Software Research Association (MISRA). "The automotive industry has a set of coding practices and rules that you are expected to follow in that industry," Gurd explained. "You can buy a package of rules to check your code against those MISRA rules."
In addition, the new version supports the ISO 9126 quality standard, he noted, because the tool was written to closely match the terminology and criteria used in that standard.
Telelogic TAU/Logiscope is available now on Microsoft Windows NT 4, Windows 2000, Windows XP and Sun Solaris 2.6 (and above), and supports quality assurance for C, C++, Java and Ada.
John K. Waters is a freelance writer based in Silicon Valley. He can be reached