logo slogan

CATS Analysis

CATS static

This is static analysis with a difference. It takes the compiled binary rather than the high level code to produce analysis, structure trees and calling charts of the binary as released in the hardware. This also provides timing analysis and exact memory  analysis


This tool is of immense use where the code as blown into the ROM./Eprom/Flash etc has to be analysed for structure and  execution flow.  


Highly versatile the system can accept symbolic labels and produce pseudo-code from the binary. Essential for some Aerospace, Nuclear and rail systems.


Static 01

Reliability, safety and quality of microelectronics are key elements in the business success of many companies. For software developmentfor the embedded controllers used in more and more applications, two trends have evolved:

• Increased use of integrated, application-oriented development environments, reducing the amountof implementation detail

• Increased use of third party elements and the re-use of existing design elements. While this reduses time to market, it increases the maintenance of low level C and assembler software.


Testing in parallel with software development means that the inevitable errors will be detected quickly and efficiently.


However, established tools for software development cannot be used efficiently for embedded controllers because of the close inter-relationship between software and hardware, the use of loww-levelprogramming languages and the importance of timing behaviour. The Static Analyzers in the CodeAnalyzer Tool Set (CATS)fill this gap.


static 02


It is machine code which embodies the software product and defines the quality, safety and reliability of the embedded system. The supplier has the responsibility for this machine code and so detailed examination - and static test - is essential.


In addition to verification and validation of new software during system development, CATS Static Analyzers can be used for re-engineering: in the absence of source code or program documentation, CATSprovides an in-depth under-standing of the structure and functionality of an unknown program.


Based on the parameters identifiedby CATS, developers and quality-management can objectively and efficiently get a picture of the strengths and weaknesses of software products.


The release of new programs can be based on rapid and reproducible structural analysis which provides reliable parameters: it is no longer dependant only on extensive testing. CATScan display program structure and control flow for analysis of new products and for the maintenance of existing programs. It is even possible to create pseudo-code output.


Tables provide information about data flow properties, timing relationships and metrics. Potential weaknesses of controller software are analyzed and highlighted. For further evaluation, CATS also provides interfaces to graphic display tools.


The following figure shows theevaluated call hierarchy and sub-routines of machine code of a program for an embedded controller.


static cats


Static object-code analysis requires tool support. The basic standard for embedded controllers, IEC61508, recognises four requirement levels. For the lowest requirement level (SIL 1) static analysisis recommended. For the three higher levels (SIL 2, 3 and 4) static analysis is strongly recommended. CATSprovides a completetoolset for static analysis.



Static 03


Efficient approaches to machine-code test


Static Test


Start with static source code analysis:

• To measure complete compatibility with program stylerequirements

• Requires a few man-hours


Static machine code analysis under embedded aspects

:• To completely measure selected properties of the product to be delivered

• Requires man-hours


Fagan Inspection, including the results of static analysis:

• To discuss/assess selected code properties in aformalised way

• Requires man-days


Dynamic Test


White-Box(testing, to be used only where static analy-sis and subsequent inspection leaves unacceptable gaps

• Typically requires many man-days


Black Box test, after inspection results have been incor-porated into the code and test plan:

• To see a convincing result of a real system

• Typically requires very many man-days




Tool Benefits


CATS Static Analyzers allow measurement of the properties of executable code as this is natural with other products. In the positive case the measurement results show that the required code properties have been achieved. In case of short comings of the code the measurement results provide astrong starting point for well defined repair.


For more information please contact us.