APDM Refactoring

 

The integration for APDMR has been performed based on ACS-5.0.3

The last iteration performed has been ApdmRefactoring-2006-06-AfterMerge-ITER-8. The software has been tagged with the final tag: ApdmRefactoring-2006-06-FINAL

 

0.    Comments

As previously communicated to Alan Bridger, developers were not too much involved in APDMR in the sense that they were not

providing prompt answers to all the problems that were reported (This due to parallel Holography development).

 

Summary:

  1. SS and OP manual test were able to produce ASDMs (with binary data for SS) but nobody has checked their validity.

  2. Control+Datacapture test was failing and nobody fixed it.

  3. EXEC GUI is sometimes freezing. Still not fixed.

  4. Many failures in unit tests for all involved subsystems but nobody was fixing them.

  5. ARCHIVE/MonitorReceiver/test was succeeding.

  6. JLOG was affected by parsing problems. Opened ALMASW2006114.

  7. APDM test in ITS was passing.

 

To be done

Validation of the ASDMs produced: this has not been done within the APDM Refactoring FBT, but it has been handed over to the next FBTs. The work began within the Holography FBT and should be probably finished within the Shared Simulator 2.

 

1. Subsystems SLOC:

Data here reported are compared with previous release ALMA-R3.1

 

- on all the directories

- on src only

- on test only

- percentage test/src

 

SLOC detailed figures:

 

ACS

ARCHIVE

CONTROL

CORR

EXEC

OBSPREP

OFFLINE

PIPELINE

SCHEDULING

TELCAL

 

 

Note: Starting from Release R1.1 ITS and SE have used a common approach in calculating SLOC.

 

 

2. In-line Documentation

 

Assessment on the sufficiency of Doxygen-like in-line documentation: Graph

 

 

3. Unit Tests

 

See the log at this link.

 

 

4. Test Coverage 

 

You will have a page with the results per each subsystem (see list below). In this page of results, there is a table with 3 columns:

- the first one lists the modules belonging to the subsystem,

- the second gives the results of the tests (PASSED, FAILED, UNDETERMINED, when it is neither PASSED nor FAILED); sometimes the test directory can be missing, so you will just see the message: "No test directory, nothing to do here".

- the third one gives a resume produced by Purify/Coverage reporting the analysis results on:

 

Functions

Functions and exits

Statement blocks

Implicit blocks

Decisions

Loops

 

The values reported for every item in the list above give the number of hits for that item.

 

In the same cell with the resume there is a link to the "Complete Report" produced by Purify. In the Complete Report one has information about the lines where the hit happened. For a loop, one has also the values: 0 (the loop is executed without entering into it), 1 (the loop is entered once), 2+ (the loop is entered and repeated once or more times).

 

Sometimes, instead of the resume, you will see a message like:

ERROR: No coverage info available
No atlout.spt

 

This happens when the modular test of that module is a fake one (for example the test is actually just an "echo something"), so there is no code (Java, Python or Cpp) that can be instrumented.

 

ACS

ARCHIVE

CONTROL

CORR

EXEC

OBSPREP

OFFLINE

PIPELINE

SCHEDULING

TELCAL

 

 

Note: the Test Coverage Analysis is not yet stable. Work is in progress to improve the results. You will see errors like:

 

This means that the test exists and is executed but Purify is not able to dump the information collected in the result file. This error is under investigation. We had 5 cases in ACS only

still under investigation, we don't know yet the reasons

 

 

 

We hope to clarify the problems under investigation as soon as possible!

 

TestCoverage Information

 

 

 

5. Java Duplicated Classes

 

See the list at this link.

 

 

6. Channels and Events

 

      See details at this link.