|
|
 |
Streamlining RTCA DO-178B/C / ED-12B Compliance with Parasoft
Parasoft's Software Development Compliance solution provides organizations:
- End-to-end quality management with the most comprehensive solution available
- A continuous compliance process integrated into the workflow and across the SDLC
- Unparalleled process consistency, visibility & auditability
- Comprehensive requirements traceability
The solution typically comprises C/C++test
(C and C++ test & analysis) and Concerto
(process visibility and control). Related products include Insure++
(C/C++ memory error detection), dotTEST
(.NET language test & analysis), Jtest
(Java test & analysis), SOAtest
(for message/protocol testing), and Virtualize (dev/test environment virtualization).
Development Testing practices featured include static
code analysis, unit testing, code coverage
analysis, peer code review, runtime error detection,
and traceability.
|
Specific RTCA DO-178B/C / ED-12B Support
Specifically for DO-178B/C / ED-12B, the solution provides the following
Development Testing capabilities.
|
|
Goal
|
Parasoft Approach
|
|
Tool qualification package & assistance
|
Parasoft products belong to the 'Software verification tools' category because their output cannot introduce any errors
into the software to be certified. Their use on any particular project needs to be qualified by the customer.
To assist with the necessary qualification, Parasoft provides a DO-178B/C Qualification Kit, which contains set
of documents (including e.g. Functional Requirements Specification, Tool Qualification Plan and Tool Verification
Procedures) and test cases to be used to qualify our tools for use in DO-178B/C projects. The Parasoft team is
always available to assist with the qualification process. If you would like help, please contact us at
info@parasoft-embedded.com.
|
|
Structural code coverage data
|
Parasoft's code coverage analysis
helps users gauge the efficacy and completeness of the tests. We provide a multi-metric test coverage analyzer.
For C and C++, this includes statement, branch, path, and MC/DC coverage. Test coverage is presented via code
highlighting for all supported coverage metrics-in the GUI or color-coded code listing reports. Summary coverage
reports, which include file and function data, can be produced in a variety of formats.
|
|
Automatic unit & component test generation and execution
|
Parasoft's unit testing automates generation and execution of requirements-based unit and component level tests.
Parasoft automatically generates complete tests, including test drivers and test cases for individual functions.
These unit tests can be created purely in code (e.g., C or C++ code).
Parasoft's automation greatly increases the efficiency of testing and the correctness and reliability of
code under test. These tests, with or without modifications, are used for initial validation of the functional
behavior of the code. By using corner case conditions, these automatically-generated test cases also check function
responses to unexpected inputs, exposing potential reliability problems. This functionality is applicable for creating
tests which detect errors, which could lead to unacceptable failure conditions, as determined by the system safety
assessment process. Test execution and analysis are centralized in the Test Case Explorer, which consolidates all
existing project tests and provides a clear pass/fail status.
|
|
Automatic regression testing
|
Parasoft's unit testing provides automated regression testing, enabling teams to easily retest code for re-certification
|
|
Test execution on host, simulator, and target
|
Parasoft's unit testing automates the complete test execution flow, including test case generation, cross-compilation,
deployment, execution, and loading results (including coverage) back into the GUI. The test execution sequence is completely customizable.
|
|
Requirements-based testing and requirements traceability
|
Across the various capabilities available in Parasoft compliance solutions, requirements are correlated with automated and manual tests, source code, and development/testing tasks.
|
|
Software code standards compliance
|
Parasoft's static analysis helps developers prevent and eliminate defects—using thousands of rules tuned to
find code patterns that lead to crashes, deadlocks, erratic behavior, and performance degredation.
It is preconfigured with templates for safety-critical, C/C++, .NET, and Java static analysis.
The extensive, continually-expanding knowledge base of rules can be easily customized
(graphically, without coding) to enable automated monitoring of custom best practices.
The result is more realistic and accurate validation that is aligned with the team's priorities.
|
|
Data flow execution path tests
|
The data flow component of Parasoft's static analysis simulates feasible
application execution paths-which
may cross multiple functions and files-and determines whether these paths could trigger specific categories
of runtime bugs. For example, C/C++ defects detected include using uninitialized or invalid memory, null
pointer dereferencing, array and buffer overflows, division by zero, memory and resource leaks, and
various flavors of dead code. The ability to expose bugs without executing code is especially valuable for
embedded code, where detailed runtime analysis for such errors is often not effective or possible.
|
|
Controlled code review process
|
Parasoft's peer code review automates preparation, notification, and tracking of
peer code reviews, enabling a very efficient team-oriented process. The status of all code reviews, including all
comments by reviewers, is maintained and automatically distributed by the automated infrastructure. The effectiveness
of team code reviews is further enhanced through Parasoft's static analysis capability. The need for line-by-line
inspections is virtually eliminated because the team's coding policy is monitored automatically. By the time code
is submitted for review, violations have already been identified and cleaned. Reviews can then focus on examining
algorithms, reviewing design, and searching for subtle errors that automatic tools cannot detect.
|
|
Runtime error detection
|
Parasoft's runtime error detection helps embedded teams automatically identify serious runtime
defects—such as memory leaks, null pointers, uninitialized memory, and buffer overflows.
|
|
Policy establishment, application, and monitoring
|
Parasoft's policy-based approach establishes the organization's expectations for quality, leverages an automated infrastructure to ensure consistent, unobtrusive policy application, and automatically monitors policy compliance for visibility and auditability.
|
|
Integrated software development management
|
Parasoft's software development management reduces the risk
involved in managing safety-critical software life cycle processes—ensuring that quality software can be produced consistently
and efficiently. It ensures predictable project outcomes while driving unprecedented levels of productivity and application quality.
|
|
|