LDRA Adds Fuel to the Development of Safety Critical Software


Fairchild Controls Headquarters, Frederick, Maryland, USA

The Client

Fairchild Controls - a division of EADS North America (Fairchild) designs and manufactures vapour cycle systems, air management systems, control electronics and air turbine drives for military and commercial aerospace and defence applications.

In the defense arena the systems provide cooling for externally mounted aircraft pods that carry targeting, navigation, reconnaissance and electronic countermeasure systems for U.S. and foreign military services.

767The Project

Fairchild selected the LDRA tool suite and made use of its advanced Static and Dynamic software analysis facilities in the development of the aerial fuelling capability for the Boeing 767 Tanker Project.

Project Requirements

A key requirement for the software development team working on the project was to be able to integrate the selected test tool into their development environment and utilise the test facilities provided to achieve DO-178B Level C certification.

The specific technical requirements associated with this overall goal included a need to integrate the LDRA tool suite with the CodeWarrior IDE and a Motorola MDC555 target processor. Coupled with this was a requirement to accommodate the analysis of both manual and auto-generated code with the latter created through The MathWorks Real-Time Workshop®.

In tandem with the Structural Coverage Analysis elements of Fairchild's development plan best practice processes were also put in place to ensure that all code met the MISRA-C:2004 coding guidelines. Compliance with this chosen standard was then automatically verified and reported via the LDRA tool suite's sophisticated Programming Standards Checking facilities.

"LDRA was the only company able to support our automatically generated code out-of-the-box"

Dr Haik Biglari, Chief Design Engineer: "The LDRA tool suite was vitally important in developing the processes, procedures and methodologies required by Fairchild. We were able to find errors earlier in the software development process, lower development costs and increase productivity."

"Fairchild have worked on developing a completely tools based approach which meant we were able to develop a process which could be used for future projects."

"The LDRA tool suite automated our development processes and dramatically increased efficiency by 1000%"

The Future

LDRA has recently extended the facilities of the LDRA tool suite with the addition of the TBreq module. TBreq is specifically designed to satisfy DO-178B compliance criteria in respect of the verification and traceability of requirements. In so doing the tool generates and maintains a user-specific Requirements Traceability Matrix (RTM) for all High-Level, Low-Level and Derived requirements associated with the software under development. TBreq was not utilised on the Boeing 767 Tanker Project but Fairchild recognise the significance of the facilities that TBreq brings to the task of DO-178b certification and have expressed an interest in making use of it for future projects.

Contact LDRA and discover how you too can harness the power of the LDRA tool suite and develop better, more reliable software.

 

The Version Control Capabilities of the LDRA tool suite


   

Version 8.0 of the LDRA tool suite introduced version control integration for the first time. Support is currently available for four tools (Perforce, Subversion, Microsoft Visual SourceSafe and IBM Rational ClearCase) although many other tools are set to be added in the near future.

Why Version Control?

Good software development practises dictate that mechanisms should be applied to manage the changes made to the individual source files, the build configurations and the documentation. Without such mechanisms, releases may be created with uncertain contents, defects cannot easily be confirmed as fixed, and engineers may see their efforts lost or wasted.

As a minimum, all files should be managed by a version control system. These systems store each version of a file, tracking the changes and storing additional information such as the developer's name, a timestamp, and comments indicating why each change was made.

A version control system stops ad-hoc changes and helps to focus the minds of the project team on why each change is being made. It also introduces security because files can be rewound to the last valid version if necessary, plus they cannot be easily deleted.

Version control of individual files is just the start though. The process level can be raised by linking version control to change management, whereby every modification to the software is tracked as an atomic entity. Whether the team is dealing with a defect, enhancement or wide-reaching product evolution, the process of managing the associated change is always the same:

  • Document the reasons for the change and allocate a unique job ID
  • Analyse the extent of the change and identify all affected files
  • Assign the job to whoever will carry out the work
  • Monitor progress and confirm that the change is correctly delivered in the targeted product release.

With this level of control, no file can be modified without an appropriate change request, adding yet more security to the development process.

The process level can be raised higher still. For each product release, does the project team know the precise version of every source file that is included? Six months down the line, can the release be rebuilt with the exact same set of file versions, irrespective of whether any have changed since? This is known as configuration management, often abbreviated to SCM, whereby the makeup of every release is itself controlled and versioned in the same way as individual files.

An SCM tool is vital for build and release management, allowing any present or past release to be constructed with ease and facilitating parallel development or patch creation.

Improved Process Efficiency

LDRA's value proposition is to bring optimisation and ease of use to the process of software verification. A primary area identified for enhancement has been the introduction of features which support clients developing and testing under the constraints of a version control or configuration management environment.

The principle challenge faced by developers and testers is that, when a source file fails an analysis review or test, they must switch to their version control client and perform a "check out" operation before returning to the LDRA tool suite to investigate the failure. Once the source file has been modified and passes the analysis review or test, the user must once again switch to their version control client and perform a "check in" operation. Similar challenges arise when information about the source file under test is required, such as learning whether an updated version is available in the repository or looking at the differences between the current version and an older version. Each time the user must switch from the LDRA tool suite to the version control client.

The LDRA tool suite now addresses these challenges with a selection of common version control commands available directly from the user interface.

Once a file or set has been loaded, the source under test may be checked in or out, adding comments for the version history as appropriate. The source file may also be updated to the latest version held in the repository or reverted if local modifications need to be discarded. Information about the source under test may be requested too, such as the list of version history comments or the differences between a pair of versions.

With these common version control commands available directly within the LDRA tool suite, developers and testers will spend less time switching between different tools, increasing the efficiency of verification activities.

Supported Tools

During development of version 8.0 of the LDRA tool suite, three leading version control tools were initially selected for integration. These were Microsoft Visual SourceSafe which has a long history in the marketplace, Subversion which is the most popular open-source solution and Perforce which is well known as a modern, high-performance solution with a light footprint.

"LDRA's integration takes complete advantage of Perforce's open and flexible architecture", observed John Walker, Senior Marketing Manager, Perforce Software. "Developers can now conveniently access development branches directly in Perforce to test, modify, and retest without having to leave the LDRA tool suite - an enormous time-saving improvement."

Since the integration of support for this initial set of version control tools in version 8.0 of the LDRA tool suite LDRA has added support for IBM Rational ClearCase which is used by many large and medium sized businesses.

Open and customisable platform

The method of constructing each version control command is via a set of Python modules grouped into a single file per version control solution.

The Python files are located in a subdirectory of the LDRA tool suite installation directory and are automatically loaded via settings in the "testbed.ini" file. Several additional settings are available to customise the behaviour of the version control integration.

The benefits of implementing the integrations in Python are threefold:

  • Firstly Python is a cross-platform solution, meaning that the same modules may be deployed on all host platforms supported by the LDRA tool suite.
  • Secondly, the specific construction of each version control command may be quickly and easily customised to suit the particular needs of every user.
  • Finally, where a version control tool is not yet supported by LDRA, users are free to implement their own Python module using the file "Userdefined.py" as a template.

Through the availability of this version control integration, LDRA aims to break down many of the barriers faced by development teams working under a source control environment.

If you would like to find out more about the version control capabilities of the LDRA tool suite® please contact LDRA: info@ldra.com. We would be pleased to arrange an on-site or web-based presentation for you.

 

Tool Integration News

Texas Instruments

TI Code Composer and Code Composer Studio

The LDRA tool suite has been integrated with TI's Code Composer 2.21 and Code Composer Studio 3.1 and 3.3 software development environments for the full range of TI DSPs. Thanks to the use of TI's own scripting and APIs, developers can enjoy seamless compilation, device programming and I/O capabilities regardless of the DSPs execution space or support of floating point. TI's development environments offer a powerful set of integrated development tools that can be further enhanced with TI and third-party plug-ins. With the integration of all these resources into one environment, LDRA and Texas Instruments deliver a combined solution that significantly boosts developer effectiveness and productivity.

IBMIBM

IBM Rational Rose RealTime

The integration with IBM Rational Rose RealTime brings code quality analysis and code coverage to IBMs model-driven development environment. For the first time, coverage metrics and test results for specific coding standards and analysis of potential quality problems can be traced to source code level. LDRA's powerful code quality analysis and code coverage techniques are brought into the domain of model-driven development (MDD) using Unified Modeling Language (UML). The LDRA tool suite supports the analysis, instrumentation and testing of both auto-generated and user-created source code both from within the Rose RealTime user interface or the LDRA environment.

DDC-I

DDC-I's Deos™

The combination of DDC-I's DO-178B-certifiable Deos™ real-time operating system (RTOS) and LDRA's tool suite provides a powerful solution to help developers get to market faster with optimised, robust and certifiable software that meets the most demanding safety-critical requirements, including DO-178B Level A.

LDRA Services

Through our highly skilled engineers, LDRA is able to offer a wide range of services. These include:

* Implementation of techniques for the achievement of software quality objectives
* Testing
* Validation and verification of software
* Setting up software quality systems and services
* Providing key experts to support in-house quality systems

LDRA experts also undertake software and computer system assessments, which target issues such as portability, maintainability, reliability and process improvement.

Contact:

Ian Smith
LDRA Services Manager

 

LDRA Training

To obtain more information or book on-site or public training courses contact LDRA on:


Newsletter Contributions

Contributions from our readers are welcome. If you have any comments or stories that you feel are relevant to the world of software testing please contact us.

 


LDRA Webinars

LDRA will be participating in a number of trade events throughout the year. Come and talk to us. Existing customers are always welcome. Potential customers - find out how, by working together, we can substantially improve software safety and efficiency and achieve financial benefits.

For more information contact: www.ldra.com/webinars.asp


Events

LDRA will be participating in a number of trade shows, exhibitions and conferences throughout the year. This provides us with the opportunity to catch up with existing customers, and meet new ones and introduce them to our services, and how, by working together to improve software safety and efficiency substantial financial benefits can be achieved.

For more information contact: www.ldra.com/events.asp