SlideShare ist ein Scribd-Unternehmen logo
1 von 2
Downloaden Sie, um offline zu lesen
EMBEDDED




Parasoft C++testTM – Comprehensive Code Quality Tools for Wind River® Workbench
As the software components in embedded systems are becoming increasingly critical, the attention to quality in embedded software increases across
the board. Long-standing quality strategies such as testing with a debugger are no longer efficient or sufficient. To further complicate matters, many
developers cannot readily run a test program in the actual deployment environment because they lack access to the final system hardware. To
address these challenges, code quality needs to be realized throughout the development lifecycle—using a synergy of time-proven techniques for
early defect prevention, assisted by automation for implementation and monitoring.

C++test from Parasoft Embedded enables teams to produce better code for embedded systems, test it more efficiently, and consistently monitor
progress towards their quality goals. With C++test, critical time-proven best practices—such as static analysis, comprehensive code review, and unit
and component testing with integrated coverage analysis—are enabled on the developer’s desktop, early in the development cycle. A command line
interface enables fully automated execution within regression and continuous integration environments, providing data for monitoring and analyzing
quality trends.

For highly quality-sensitive industries, such as avionics, medical, automobile, transportation, and industrial automation, the addition of Parasoft’s
Web-based audit and reporting system, with interactive Web-based dashboards and drill-down capability powered by a SQL database, enables an
efficient and auditable quality process with complete visibility into compliance efforts.

C++test Wind River Workbench Integration
The C++test plugin for Wind River® Workbench provides Workbench users easy
access to C++test’s full code analysis, code review, and unit testing capabilities
directly within their IDE. This seamless integration enables testing and verification
to become a natural and continuous part of the development process. The complete
target-based test execution flow, including test case generation, cross-
compilation, deployment, execution, and loading results back into the GUI, can be
automated within C++test. C++test leverages Wind River CDT to provide context-
sensitive pop-up menus and views.

C++test is available as a plug in for Wind River Workbench 2.6 and 3.0 IDEs and
supports both VxWorks® and Wind River Linux RTOS. In addition, a standalone
C++test installation provides built-in support for import and analysis of Tornado®
projects. C++test is available for Windows, Linux, and Solaris host platforms.

Automate Code Analysis for Monitoring Compliance                                                  The C++test plugin for Wind River Workbench provides Workbench users with easy access
                                                                                                  to full C++test feature set right in the IDE. Unit test and coverage results shown.
A properly implemented coding policy can eliminate entire classes of programming
errors by establishing preventive coding conventions. C++test statically analyzes
code to check compliance with such a policy. To configure C++test to enforce a
coding standards policy specific to their group or organization, users can define
their own rule sets with built-in and custom rules. Code analysis reports can be
generated in a variety of formats, including HTML and PDF.

Hundreds of built-in rules—including implementations of MISRA, MISRA 2004, and
the new MISRA C++ standards, as well as guidelines from Meyers’ Effective C++ and
Effective STL books, and other popular sources—help identify potential bugs from
improper C/C++ language usage, enforce best coding practices, and improve code
maintainability and reusability. Custom rules, which are created with a graphical
RuleWizard editor, can enforce standard API usage and prevent the recurrence of
application-specific defects after a single instance has been found.                                                Dashboards track key development metrics
Identify Runtime Defects Without Executing Software
                                 The advanced interprocedural static analysis module of C++test simulates feasible application execution paths—which may cross multiple
                                 functions and files—and determines whether these paths could trigger specific categories of runtime bugs. 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.

                                 C++test greatly simplifies defect analysis by providing a complete analyzed path trace for each potential defect in the Eclipse IDE. Automatic
                                 cross-links to code help users quickly jump to any point in the highlighted analysis path.

                                 Automated Code Review
                                 Code review is known to be the most effective approach to uncover code defects. The C++test Code Review module automates preparation,
                                 notification, and tracking of peer code reviews. Status of all code reviews, including all comments by reviewers, is maintained and automatically
                                 distributed by the C++test infrastructure. C++test supports two typical code review flows using the IDE facilities:
                                                                                          Post-commit code review. This mode is based on automatic identification of code
                                                                                          changes in a source repository via custom source control interfaces, and creating code
                                                                                          review tasks based on pre-set mapping of changed code to reviewers.
                     HOST (DEVELOPMENT) ENVIRONMENT                                       Pre-commit code review. Users can initiate a code review from the desktop by selecting
                                                                                          a set of files to distribute for the review, or automatically identify all locally changed
                                                                                          source code.
                             C++test
                                            TM




   User
   Code           Generate/
                                           Execute
                                                                Cross Compile         Unit and Integration Test with Coverage Analysis
     +           Extend Tests                                        Test
                  and Stubs                 Tests                Executable
  Binary                                                                              C++test’s automated testing helps establish correctness and reliability of newly-developed
 Libraries                                                                            or legacy code. C++test automatically generates complete tests, including test drivers and
                             Host-Based Flow
                                                                                      test cases for individual functions, purely in C or C++ code in a format similar to CppUnit.
                                                        Target-Based                  Alternatively, users can interactively define tests using a Test Wizard. These tests, with or
                      Review Results + Coverage
                                                            Flow                      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. To
                  Results saved          Socket-based
                                                                                      expand the range of test conditions without increasing test code, tests can be
                 in file for later       real-time                                    parameterized using data sources.
                           review        reporting                 Execute
                                                                    Tests
                                                                                      A multi-metric test coverage analyzer, including statement, branch, path, and MC/DC
                          SIMULATOR OR TARGET DEVICE                                  coverage, helps users gauge test suite efficacy and completeness, and demonstrate
                                                                                      compliance with test and validation requirements, such as DO-178B. Coverage reports
                                                                                      including file, class, and function data can be produced in a variety of formats.
C++test’s customizable workflow allows users to test code as it’s developed, then
use the same tests to validate functionality/reliability in target environments
                                                                                      Test on the Host, Simulator, and Target
Advanced Unit Test features:                                                          C++test supports testing on both host or simulator and target hardware. C++test automates
                                                                                      the complete test execution flow, including test case generation, cross-compilation,
    Automatic generation of tests and stubs                                           deployment, execution, and loading results (including coverage metrics) back into the GUI.
    Automatic generation of assertions based on observed test results                 Testing can be driven interactively from the GUI or from the command line for automated
                                                                                      test execution, or performed through batch regression testing. In the interactive mode,
    Graphical Test Case Wizard for interactive definition of tests                    users can run tests individually or in selected groups for easy debugging or validation. For
    Complete visibility into test and stub source code                                batch execution, tests can be grouped based either on the user code they are linked with, or
    Intelligent, test-case-sensitive stubs                                            their name or location on disk.
    Parameterization of tests and stubs
                                                                                      High Degree of Customization
    Multi-metric coverage analysis for DO-178B (including MC/DC)
    Flexible support for continuous regression testing                                C++test allows full customization of its test execution sequence. In addition to using the built-
                                                                                      in test automation, users can incorporate custom test scripts and shell commands to fit the tool
    Annotation of tests against bug and requirement IDs                               into their specific build and test environment. This unparalleled flexibility enables users to
    Execution of tests under debugger                                                 realize their desired test flow without being constrained by the preset tool options.
    Special mode for testing template code                                            C++test can be utilized with a wide variety of embedded OS and architectures, by cross-
                                                                                      compiling the provided runtime library for a desired target runtime environment. All test
                                                                                      artifacts of C++test are source code, and therefore completely portable.




                                         www.parasoft-embedded.com

                                         Parasoft Corporation, 101 E. Huntington Dr., 2nd Flr., Monrovia, CA 91016
                                         Ph: (888) 305.0041, Fax: (626) 256.6884, Email: info@parasoft-embedded.com

Weitere ähnliche Inhalte

Andere mochten auch

WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011
WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011
WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011Engineering Software Lab
 
Code coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspectiveCode coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspectiveEngineering Software Lab
 
CppUnit using introduction
CppUnit using introductionCppUnit using introduction
CppUnit using introductionIurii Kyian
 
Unit testing on embedded target with C++Test
Unit testing on embedded  target with C++TestUnit testing on embedded  target with C++Test
Unit testing on embedded target with C++TestEngineering Software Lab
 
Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective   Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective Engineering Software Lab
 

Andere mochten auch (11)

המסדרת הפכה למגוהצת
המסדרת הפכה למגוהצתהמסדרת הפכה למגוהצת
המסדרת הפכה למגוהצת
 
Parasoft fda software compliance part1
Parasoft fda software compliance   part1Parasoft fda software compliance   part1
Parasoft fda software compliance part1
 
WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011
WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011
WPF/ XamDataGrid Performance, Infragistics Seminar, Israel , November 2011
 
Palamida Open Source Compliance Solution
Palamida Open Source Compliance Solution Palamida Open Source Compliance Solution
Palamida Open Source Compliance Solution
 
Code coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspectiveCode coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspective
 
FDA software compliance 2016
FDA software compliance 2016FDA software compliance 2016
FDA software compliance 2016
 
CppUnit using introduction
CppUnit using introductionCppUnit using introduction
CppUnit using introduction
 
Unit testing on embedded target with C++Test
Unit testing on embedded  target with C++TestUnit testing on embedded  target with C++Test
Unit testing on embedded target with C++Test
 
Embedded System Test Automation
Embedded System Test AutomationEmbedded System Test Automation
Embedded System Test Automation
 
Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective   Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective
 
Cpp unit
Cpp unit Cpp unit
Cpp unit
 

Kürzlich hochgeladen

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Parasoft C++test – Comprehensive Code Quality Tools for Wind River® Workbench

  • 1. EMBEDDED Parasoft C++testTM – Comprehensive Code Quality Tools for Wind River® Workbench As the software components in embedded systems are becoming increasingly critical, the attention to quality in embedded software increases across the board. Long-standing quality strategies such as testing with a debugger are no longer efficient or sufficient. To further complicate matters, many developers cannot readily run a test program in the actual deployment environment because they lack access to the final system hardware. To address these challenges, code quality needs to be realized throughout the development lifecycle—using a synergy of time-proven techniques for early defect prevention, assisted by automation for implementation and monitoring. C++test from Parasoft Embedded enables teams to produce better code for embedded systems, test it more efficiently, and consistently monitor progress towards their quality goals. With C++test, critical time-proven best practices—such as static analysis, comprehensive code review, and unit and component testing with integrated coverage analysis—are enabled on the developer’s desktop, early in the development cycle. A command line interface enables fully automated execution within regression and continuous integration environments, providing data for monitoring and analyzing quality trends. For highly quality-sensitive industries, such as avionics, medical, automobile, transportation, and industrial automation, the addition of Parasoft’s Web-based audit and reporting system, with interactive Web-based dashboards and drill-down capability powered by a SQL database, enables an efficient and auditable quality process with complete visibility into compliance efforts. C++test Wind River Workbench Integration The C++test plugin for Wind River® Workbench provides Workbench users easy access to C++test’s full code analysis, code review, and unit testing capabilities directly within their IDE. This seamless integration enables testing and verification to become a natural and continuous part of the development process. The complete target-based test execution flow, including test case generation, cross- compilation, deployment, execution, and loading results back into the GUI, can be automated within C++test. C++test leverages Wind River CDT to provide context- sensitive pop-up menus and views. C++test is available as a plug in for Wind River Workbench 2.6 and 3.0 IDEs and supports both VxWorks® and Wind River Linux RTOS. In addition, a standalone C++test installation provides built-in support for import and analysis of Tornado® projects. C++test is available for Windows, Linux, and Solaris host platforms. Automate Code Analysis for Monitoring Compliance The C++test plugin for Wind River Workbench provides Workbench users with easy access to full C++test feature set right in the IDE. Unit test and coverage results shown. A properly implemented coding policy can eliminate entire classes of programming errors by establishing preventive coding conventions. C++test statically analyzes code to check compliance with such a policy. To configure C++test to enforce a coding standards policy specific to their group or organization, users can define their own rule sets with built-in and custom rules. Code analysis reports can be generated in a variety of formats, including HTML and PDF. Hundreds of built-in rules—including implementations of MISRA, MISRA 2004, and the new MISRA C++ standards, as well as guidelines from Meyers’ Effective C++ and Effective STL books, and other popular sources—help identify potential bugs from improper C/C++ language usage, enforce best coding practices, and improve code maintainability and reusability. Custom rules, which are created with a graphical RuleWizard editor, can enforce standard API usage and prevent the recurrence of application-specific defects after a single instance has been found. Dashboards track key development metrics
  • 2. Identify Runtime Defects Without Executing Software The advanced interprocedural static analysis module of C++test simulates feasible application execution paths—which may cross multiple functions and files—and determines whether these paths could trigger specific categories of runtime bugs. 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. C++test greatly simplifies defect analysis by providing a complete analyzed path trace for each potential defect in the Eclipse IDE. Automatic cross-links to code help users quickly jump to any point in the highlighted analysis path. Automated Code Review Code review is known to be the most effective approach to uncover code defects. The C++test Code Review module automates preparation, notification, and tracking of peer code reviews. Status of all code reviews, including all comments by reviewers, is maintained and automatically distributed by the C++test infrastructure. C++test supports two typical code review flows using the IDE facilities: Post-commit code review. This mode is based on automatic identification of code changes in a source repository via custom source control interfaces, and creating code review tasks based on pre-set mapping of changed code to reviewers. HOST (DEVELOPMENT) ENVIRONMENT Pre-commit code review. Users can initiate a code review from the desktop by selecting a set of files to distribute for the review, or automatically identify all locally changed source code. C++test TM User Code Generate/ Execute Cross Compile Unit and Integration Test with Coverage Analysis + Extend Tests Test and Stubs Tests Executable Binary C++test’s automated testing helps establish correctness and reliability of newly-developed Libraries or legacy code. C++test automatically generates complete tests, including test drivers and Host-Based Flow test cases for individual functions, purely in C or C++ code in a format similar to CppUnit. Target-Based Alternatively, users can interactively define tests using a Test Wizard. These tests, with or Review Results + Coverage Flow 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. To Results saved Socket-based expand the range of test conditions without increasing test code, tests can be in file for later real-time parameterized using data sources. review reporting Execute Tests A multi-metric test coverage analyzer, including statement, branch, path, and MC/DC SIMULATOR OR TARGET DEVICE coverage, helps users gauge test suite efficacy and completeness, and demonstrate compliance with test and validation requirements, such as DO-178B. Coverage reports including file, class, and function data can be produced in a variety of formats. C++test’s customizable workflow allows users to test code as it’s developed, then use the same tests to validate functionality/reliability in target environments Test on the Host, Simulator, and Target Advanced Unit Test features: C++test supports testing on both host or simulator and target hardware. C++test automates the complete test execution flow, including test case generation, cross-compilation, Automatic generation of tests and stubs deployment, execution, and loading results (including coverage metrics) back into the GUI. Automatic generation of assertions based on observed test results Testing can be driven interactively from the GUI or from the command line for automated test execution, or performed through batch regression testing. In the interactive mode, Graphical Test Case Wizard for interactive definition of tests users can run tests individually or in selected groups for easy debugging or validation. For Complete visibility into test and stub source code batch execution, tests can be grouped based either on the user code they are linked with, or Intelligent, test-case-sensitive stubs their name or location on disk. Parameterization of tests and stubs High Degree of Customization Multi-metric coverage analysis for DO-178B (including MC/DC) Flexible support for continuous regression testing C++test allows full customization of its test execution sequence. In addition to using the built- in test automation, users can incorporate custom test scripts and shell commands to fit the tool Annotation of tests against bug and requirement IDs into their specific build and test environment. This unparalleled flexibility enables users to Execution of tests under debugger realize their desired test flow without being constrained by the preset tool options. Special mode for testing template code C++test can be utilized with a wide variety of embedded OS and architectures, by cross- compiling the provided runtime library for a desired target runtime environment. All test artifacts of C++test are source code, and therefore completely portable. www.parasoft-embedded.com Parasoft Corporation, 101 E. Huntington Dr., 2nd Flr., Monrovia, CA 91016 Ph: (888) 305.0041, Fax: (626) 256.6884, Email: info@parasoft-embedded.com