|
Recent IDA News and Events! Integrated HW/SW Fault Tree - IDA has recently developed the methodology for generating Integrated Hardware/Software Fault-Trees. This new concept incorporates the software logic events implemented by a micro-controller and its respective embedded software with system hardware, and shows the relationships between events necessary to produce the undesirable top-level failure. In situations where embedded software controls the system, the interaction of the software logic with the hardware failures must be considered in order to discover all the events that can produce the top-level fault. Many times, as was demonstrated by the recently completed Integrated Fault Trees by IDA, hardware failures on the sensor side of the micro-controller and incorrect commands/status from other embedded processors generated failure events within the Fault Tree because of software logic interaction with the hardware. These failures would not have been detected or detailed in a hardware-only Fault Tree. The Integrated Fault Trees lead to some important software changes that increased the systems fault-tolerance and provided a tool to the Reliability Department for assessing future changes. Test Optimization Analysis - IDA has developed a method to assure that your products Test Program doesnt become a demonstration of basic functions. An effective system Test Program requires in-depth knowledge of the system requirements as well as the "as-built" implementation of the requirements. Often the Test Engineer does not have the insight into all the interactions between system functions in the "as-built" configuration. IDA uses our Baseline Analysis Tools that represent your system implementation and your requirements to create products aimed at streamlining your Test Program. This new analysis is called a Test Optimization Analysis, or TOA. IDA using the TOA methodology, can maximize requirements coverage by testing and generate more efficient test cases and procedures. The best news is that a TOA can be added to a Sneak Analysis for a fraction of the cost! Traceability Analysis "Waterfall" Diagram Matrix - When defining a system, requirements start with a high-level functional specification that eventually generates many lower-level hardware and software specifications. Each of the functional requirements ("parent requirements") within the high-level specs. have associated low-level requirements ("child" requirements) further describing the details of how the function is to be implemented. A requirements Traceability Analysis is performed to assure that all requirements are implemented into the system as either hardware, software or both. An effective Traceability Analysis also should show the hierarchy between requirements, any differences between the "parent-child" functionality and if any requirements are "orphaned" otherwise, having no parent requirements.
Software Sneak Analysis Used As A Static/Dynamic Code Analysis Tool - Static code analysis can identify unreachable code, infinite loops, initialization errors, code complexity, and output variable ranges that could generate a logic problem. Most of the static analysis techniques use an intermediate language interpreter that translates the computer language written by the programmer into a language used by the analysis tool. After the software code is translated into the intermediate language or IL, the IL is processed and reports are generated. These reports are anomalies detected in the IL that require further investigation by a software analyst to determine if a logic or control problem really exists in the actual code. The reports can be extensive and sometimes the IL translation multiplies the number of anomalies because of the particular syntax used when converting the original software code to IL. The anomalies are detected by using a pre-determined list of known problems based on the complexity, program paths, and logic executed within the software paths. Dynamic analysis of the software code requires a more robust simulation of actual execution. Many of these tools are difficult to set up and execute while providing an incomplete simulation of hardware timing and interface characteristics. These tools also require an intermediate language interpreter to implement and experienced analysts to interpet the results. Since the tool is executing a simulation of the software, detected anomalies require further analysis by an experienced software analyst of the actual hardware and software to verify the results. IDA's Software
Sneak Analysis has been recently used to identify similar problems that
can be detected by static and dynamic code analysis tools. IDA does not
use an Intermediate Language translator in it's software tools, instead,
IDA uses Software Network Trees and a Program
Operation Diagram (POD). These tools are actual program code depicted
graphically and topologically to assist in functional and logic analysis
of the software. IDA has found that the translation of system
software into an IL can become subjective in complex situations. The translation
must be assisted by an experienced analyst to obtain a workable model
acceptable to the Static/Dynamic Code Analysis software. This human-intervention
in the IL process could intoduce of even cover-up an anomaly. Furthermore,
when an anomaly is detected using IDA's method, the results
require no further verification because IDA's tools are
actual source code and system hardware. IDA then cross-references all variables between the Network Trees to show every instruction where the variable is either referenced or modified (defined). IDA uses the cross references and tracks the software program flow using a POD that demonstrates the order of execution of the software in real time. With this proven methodology, IDA can uncover similar problems that static analysis discovers and also the dynamic, timing problems that may remain hidden by any other technique. IDA can also integrate in actual system hardware in the analysis, not a simulation, to uncover interface problems between the hardware and software. |
||