New code analysis tool released by LDRA at Design EastNews
September 18, 2012
BOSTON. A new coverage tool for verifying application source code from LDRA, called LDRAcover completed structural testing. It is for companies that have to comply with safety and security certification standards such as DO-178B in avionics an defense applications. LDRA made the announcement this week during the Design East show in Boston.
Software contains hundreds of thousands of lines of codes, which mean hundreds of thousands of opportunities for something to go wrong if the lines are not all tested. “LDRAcover addresses this challenge, analyzing the code and highlighting the sections that have not been executed by tests in an easy-to-see graphical interface,” says Ian Hennell, LDRA Operations Director. “Developers can quickly identify and correct application shortcomings whether they are caused by incomplete or erroneous test cases, imprecise or inadequate requirements or unexecutable dead code.”
“Studies confirm that, without the use of code coverage analysis, testing typically exercises only 50% of the code,” says Jack Ganssle, Chief Consultant at the Ganssle Group. “Given typical bug rates, that means 100K lines of code in a program will ship with 2500 to 5000 bugs. These bugs lead to many systems failures.”
LDRAcover can simply show whether a line of source code has been executed at least once by a set of test cases to the stringent requirements of modified condition/decision coverage (MC/DC), where a component is placed under comprehensive testing. MC/DC analysis is used for the most stringent levels of testing in DO-178B/C and ISO 26262, where failure of the software can result in loss of life.
LDRAcover enables developers to select for statement, which identifies missing test cases, dead code and lines of source code executed; branch/decision, which checks control-flow branches and loops; procedure/function Call, which verifies that procedure/function calls and call returns executed; branch condition, which checks that Boolean operands in a condition executed both TRUE and FALSE; branch condition combination, which checks that all unique combinations of Boolean condition operands executed both TRUE and FALSE; and modified condition/decision coverage (MC/DC), which confirms that every point of entry and exit was invoked at least once, every condition in a decision has been taken on all possible outcomes at least once, and each condition has been shown to independently affect the overall decision outcome.
According to users the new tool is easy to work with. “When evaluating our code, we found that it was easier to use the LDRA’s graphical interface than that of our IDE. LDRA displayed all of the subfunctions graphically,” says Frédéric Rabouin, embedded software developer at Esprit Lean. A thorough analysis only took five minutes, so it was easy for us to work iteratively with the tool.”
LDRAcover meets all levels of coverage analysis for the C, C++, Ada, and Java software languages. Demonstrations of LDRAcover can be seen at DESIGN East in Boston on September 18 and 19 at Booth #415. Fr more information, visit www.ldra.com.