Abstract interpretation checks software errors

A relatively new method, abstract interpretation, is a process for automatically checking dynamic properties of software applications without actually running any test case and without executing it. Triconex—a unit of Invensys that supplies products, systems, and services for safety, critical control, and turbomachinery applications—uses abstract interpretation in its Trident system...

01/01/2004


Sidebars:
3 tips for applying abstract interpretation

A relatively new method, abstract interpretation, is a process for automatically checking dynamic properties of software applications without actually running any test case and without executing it. Triconex—a unit of Invensys that supplies products, systems, and services for safety, critical control, and turbomachinery applications—uses abstract interpretation in its Trident systems, which provide continuous control for safety-critical units in refineries, petrochemical and chemical plants, and other industrial processes. According to the company, the abstract interpretation method has saved $1 million and up to one calendar year in verifying fault-tolerant controller software used in process manufacturing applications that require a high degree of reliability and availability.

Trident controller provides fault tolerance by means of a triple modular redundant architecture that integrates three isolated, parallel control systems and extensive diagnostics. Testing, required before each new product release, is a very challenging task for a system that has approximately 70,000 lines of C code and 140,000 lines of Ada code, and operates in triplicate in hard real time so it can shut down a plant within milliseconds if specified safety boundaries are exceeded. The challenge was detecting runtime errors, such as processor halt, data corruption, timing violations, etc. A complete "white box" test of such a product can easily consume 4 to 5 person-years of effort, spread over 6 to 12 calendar months to satisfy Invensys quality requirements and obtain certification from government agencies.

The abstract interpretation method works on an abstraction of the analyzed software built from its dynamic properties. Triconex used PolySpace Verifier, from Polyspace Technologies, an abstract interpretation tool that evaluates the code just one time from its dynamic properties, greatly reducing the computational load. The obvious advantage of the new approach to software verification is that it can automatically check 100% of runtime errors in a fraction of the time that would be required to test the code using traditional verification methods.

Gershon Shamay, software development manager for Invensys, says, "The most important improvement [offered by abstract interpretation] is that we are now certain we have examined every line of code under every possible input condition. The certification agencies agree with this assessment. They have encouraged us in the past to move to full visibility verification methods and certified our newest product in record time based on abstract interpretation."

Polyspace Technologies www.polyspace.com

Triconex www.triconex.com



3 tips for applying abstract interpretation

Apply abstract interpretation to software to:

Protect against runtime errors.

Reduce artificial intelligence execution time, with related adjustment and tuning.

Identify and diagnose problems, including the location of the line of code where the error originated.



No comments
The Engineers' Choice Awards highlight some of the best new control, instrumentation and automation products as chosen by...
The System Integrator Giants program lists the top 100 system integrators among companies listed in CFE Media's Global System Integrator Database.
The Engineering Leaders Under 40 program identifies and gives recognition to young engineers who...
This eGuide illustrates solutions, applications and benefits of machine vision systems.
Learn how to increase device reliability in harsh environments and decrease unplanned system downtime.
This eGuide contains a series of articles and videos that considers theoretical and practical; immediate needs and a look into the future.
Sensor-to-cloud interoperability; PID and digital control efficiency; Alarm management system design; Automotive industry advances
Make Big Data and Industrial Internet of Things work for you, 2017 Engineers' Choice Finalists, Avoid control design pitfalls, Managing IIoT processes
Engineering Leaders Under 40; System integration improving packaging operation; Process sensing; PID velocity; Cybersecurity and functional safety
This article collection contains several articles on the Industrial Internet of Things (IIoT) and how it is transforming manufacturing.

Find and connect with the most suitable service provider for your unique application. Start searching the Global System Integrator Database Now!

SCADA at the junction, Managing risk through maintenance, Moving at the speed of data
Flexible offshore fire protection; Big Data's impact on operations; Bridging the skills gap; Identifying security risks
The digital oilfield: Utilizing Big Data can yield big savings; Virtualization a real solution; Tracking SIS performance
click me