ABC DDS Integration Project
This project did not follow the below. A new plan will be needed.
2110-000-182
Integrate current ABC capabilities into DDS.
Description
The ABC Tool is a structural coverage analysis tool which uses Assembly Branch Coverage (ABC) as an equivalent means of DO-178B MC/DC compliance. The ABC Tool is used in many Deos product verifications. Specific verification considerations required when using the ABC tool are documented in Deos Additional Considerations.
Required Tools
- The Deos Maintainer Environment is a VMWare XP virtual machine, rigged for Deos Maintainer use (User: upgrade; password: DDCIupgrade).
- VMWare Player is used to play the Deos Maintainer Environment as well as a Deos image for native development.
ABC Tool Overview
The ABC Tool is really a suite of tools which consists of:
- An instrumentor that instruments the intermediate assembly-language files with code probes at branches and labels.
- hypstart.py which allows one to designate a buffer in RAM for a hitmap.
- A means to retrieve the hitmap from a Deos target back to your test workstation.
- A report generator which interprets the hitmap for you, displaying the executed code with execution coverage marked and highlighted.
For more information regarding the existing tool and its capabilities refer to the following:
ABC DDS Integration Project Overview
This project will involve taking the existing ABC tool suite (Version 4.10.0) from its legacy cygwin roots and integrating it into DDS. In other words, get what we have now working in/with Open Arbor. This will involve the below steps or Milestones.
Updates for GCC 4.2.3
The current version of the ABC Tool is not known to work with our current GCC compiler offering (GCC Version 4.2.3). Often new version, and/or new compilers, introduce new assembly constructs. The instrumentor must be updated to account for these new constructs.
Requirement GCC1: Ensure that the ABC Tool can properly instrument assembly code produced by GCC Version 4.2.3.
Approach: Use GCC Version 4.2.3 and re-perform the ABC Tool qualification. Note and fix any new assembly constructs that are produced.
DDS with ABC Build Capabilities
The ABC instrumentor is tooling that is invoked during the executable object code build step. Each executable object code project (e.g., .EXEs and .SOs) that wish to use the ABC Tool will need, at least, one new build target: an instrumented ABC compliant version of the executable object code. Almost all projects will also need an instrumented optimized version of the executable object code (refer to ABC/SCAT User Guide, Section 2 Guidelines and Limitations, Optimization for more details). These two new build targets would be in addition to the debug and release build targets (i.e., by default, for targets would be built).
Additionally, the production or release version of the executable object code should be built in the same manner as the instrumented variant(s): compiled to assembly then assembled into object code. DDS may need to be updated to ensure executable object code is built this way.
Requirement BLD1: Ensure that executable object code is built in an ABC compliant way.
Requirement BLD2: Add the necessary instrumented build targets to executable object code projects.
DDS with ABC Report Capabilities
Once the user has instrumented executable object code, they can use existing DDS functionality to get this code loaded onto the target for testing purposes. Once they complete their testing, they will need a way to gather and report the structural coverage data. It is envisioned that this would be a need capability added to the Target Manager. At a minimum, there should be a button that the user can click to download the hitmap (aka coverage data) and generate the coverage report (using the report generator). However, other ideas/suggestions are welcome.
The report generator produces a collection of HTML files, a web site of sorts, which the user then edits to add justification for misses. As such, the report HTML files need to be saved to a folder (i.e., the root of the web).
Requirement RPT1: Add the capability to download the hitmap and generate the coverage report.
Requirement RPT2: Add the capability to save the coverage report files to a folder (i.e., root of web) location.
Post ABC DDS Integration Project Steps
Now that we have the existing functionality integrated into DDS, what's next? Well, the enxt steps for the ACB tool should be:
- Address the existing PCRs.
- Add capability and support for HeartOS.
- Consider tool implementation and GUI improvements
Status
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] Updates for GCC 4.2.3 | TBD | TBD | TBD | 0% |
| [2] DDS with ABC Build Capabilities | TBD | TBD | TBD | 0% |
| [3] DDS with ABC Report Capabilities | TBD | TBD | TBD | 0% |
[1] Updates for GCC 4.2.3
| Task | Dependency | Assignee | Original Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|
| 1.0 Spin-up | None | Thorkil | 100 | 0 | 100 |
| 1.1 Instrumentor Mods | None | Thorkil | 80 | 0 | 80 |
| 1.2 Report Generator Mods | None | Thorkil | 80 | 0 | 80 |
| 1.3 Update Qual Suite | None | Thorkil | 80 | 0 | 80 |
| 1.4 Packaging & Release | None | Thorkil | 40 | 0 | 40 |
| Totals | 380 | 0 | 380 | ||
[2] DDS with ABC Build Capabilities
| Task | Dependency | Assignee | Original Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|
| 2.1 Add build Option | None | Thorkil | 40 | 0 | 40 |
| 2.2 Test build Option | None | Thorkil | 40 | 0 | 40 |
| Totals | 80 | 0 | 80 | ||
[3] DDS with ABC Report Capabilities
| Task | Dependency | Assignee | Original Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|
| 3.0 Retrieve Hitmap | None | Thorkil | 40 | 0 | 40 |
| 3.1 Generate Report | None | Thorkil | 40 | 0 | 40 |
| 3.2 Testing | None | Thorkil | 40 | 0 | 40 |
| Totals | 120 | 0 | 120 | ||