The Limitations of Sneak Circuit Analysis Software
A computer program with Sneak Circuit Analysis capabilities is available for personal computers; however, it does not include functional evaluation of integrated circuits (ICs). These programs use an algorithm which recognizes specific topological patterns and was first devised by Boeing in the late 1960s. Boeing, which developed this technique for discrete components and relay logic, had progressed far beyond this simple method as technology moved towards microprocessor designs. Attempting to use these programs to perform Sneak Analysis on modern circuitry would produce limited results since most systems are designed with many functionally complicated ICs with very little discrete components. However, IDA continues to improve upon the latest Sneak Analysis techniques by integrating the Sneak Analysis method with new technologies.


There are also Commercial Off The Shelf (COTS) tools applied to and/or used to evaluate software to identify code complexity, undefined variables, unused code, and total number of possible logic paths. The output of these tools do not identify sneak conditions because functional interactions are not assessed between major software functions and modules. Most of these static code checkers produce an output that requires further evaluation by an analyst. Timing, possible contradictory data paths, and other anomalies are not investigated because of the limitations of these tools. Sneak Analysis not only identifies sneak conditions but also detects similar conditions as the COTS software tools.


Some other Sneak Analysis providers use input-output matrix systems for uncovering sneak conditions. These methods are limited because of their binary nature of the final product and their lack of insight into the intended function of the circuitry or system. IDA's experience with sneak analysis has found that many detrimental sneaks occur between the system’s major functions, in areas where each of the functions are possibly transitioning and interacting. These dynamic interactions are not considered in an "all possibilities" input/output matrix or a computer program which searches all possible current or data paths.


The dynamic interactions are especially important when analyzing a hardware/software microprocessor based system. Many sneak conditions occur when considering functions which are as much software as hardware. The sneak conditions are hidden within the hardware/software interface because in general, few system developers cross between these boundaries and are limited in communicating in the different technical terms and concepts that hardware and software developers frequently use. In many projects, the hardware and software are developed at different locations or times making it difficult for each of the developers to communicate the intricate details of their designs. This forces the hardware and software developers to make general assumptions about each others functionality, not knowing the details, and can create anomalous conditions. Many of these interface problems are discovered in the test and acceptance phase of the project, while some others are discovered after product delivery. Fixing the problem this late in the project becomes expensive with fewer options for re-design. IDA’s Sneak Analysis approach links the software functions to hardware circuitry displaying the entire function to the analyst. IDA then applies static and dynamic clues to the combined function. After a single function is complete, the analyst then uses inter-functional clues between the system's major functions to continue the search for sneak conditions.