Option E.3 Code Coverage observation Selection file
In this option, you can specify the selection criteria that you want to use to extract only the observations that you are interested in. When you first select this option, you provide the name of the data set that contains the Selection file. The following screen shows this panel.
---------- z/OS Debugger - Code Coverage Observation Selection Criteria ---------
Command ===>
Specify the name of a code coverage observation selection criteria
data set that you want to create or edit.
The data set contains selection criteria and source markers used to select
code coverage observations and percentage calculations.
Data Set Name:
Data Set Name . . . 'USERIBM.DBGTOOL.CCOBSSEL'
Volume Serial . . . (If not cataloged)
Press Enter to edit the data set.
Press Exit or Cancel to exit.
F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap
F12=Cancel
After you provide the name of the data set, press Enter to create or modify your Selection file. The following screen shows the selection attributes panel.
------------- z/OS Debugger - Edit Code Coverage Selection Criteria -------------
Command ===>
Specify code coverage observation selection criteria
Enter attribute value and comparison operator. Comparison operators
are (E)qual, (G)reater, (L)ess, (GE) greater than or equal,
(LE) less than or equal, and (NE) not equal.
Attribute name Value Operator Rollup
Run date (YYYY/MM/DD) (E,G,L,GE,LE,NE)
Run time (HH:MM:SS) (E,G,L,GE,LE,NE)
Group ID 1 COST E (E,NE) N (Y/N)
Group ID 2 BENEFIT E (E,NE) N (Y/N)
User ID USERIBM E (E,NE) Y (Y/N)
Load module name (E,NE)
Program name COB01* E (E,NE)
Compile date (YYYY/MM/DD) (E,G,L,GE,LE,NE)
Compile time (HH:MM:SS) (E,G,L,GE,LE,NE)
Debug override (E,NE) (Y/N)
Total statements (E,G,L,GE,LE,NE)
Executed statements (E,G,L,GE,LE,NE)
Specify source markers for code coverage percentage analysis
Marker type: SINGLE/SECTIONBEGIN/SECTIONEND
Selection: INCLUDE/EXCLUDE
Marker type Selection Column Column String
Start End
SINGLE INCLUDE 73 75 PMR
SINGLE EXCLUDE 73 80 PMR11114
SECTIONBEGIN INCLUDE 7 80 DEFECT123BEGIN
SECTIONEND INCLUDE 7 80 DEFECT123END
F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap
F12=Cancel
The marker section allows only five markers to be specified. If you need more than five, you need to add the additional entries by hand using the Selection file XML DTD syntax (See XML tags used in the Selection file).
Most of the field above are self-explanatory or have been described before in this document. The following section describes the operators and the meaning of the Roll-Up fields.
Operators
E = Equal
G = Greater than
L = Less than
GE = Greater or Equal
LE = Less or Equal
NE = Not Equal
Roll-up
The roll-up is a merge process. The selected observations are grouped into subgroups with all observations that have the same load module name, program name, compile date and compile time. The roll-up is then performed within each subgroup and is based on four other attributes of the observations. Each of the four attributes has a 'roll-up' option with value Yes or No. If Yes, it means that the observations are qualified for merge when the attributes are the same or different. If No, it means that observations with different values of the attribute cannot be merged. However, if they have the same value, they are qualified. The test is performed on each of the four attributes. All tests must be positive before the merge takes place. The attributes of a observation that has the roll-up option are GroupID1, GroupID2, User ID, and DBGOV (Debug override). The merge of qualified observations is to combine the executed statement lists together for generating the code coverage extracted observations. In the resultant observation after the merge process, the attributes that have the roll-up option = 'Y' show a value of '*' except the DBGOV attribute. This attribute shows a value of 'Y' if at least one of the merged observations has the DBGOV attribute = 'Y'. It shows a value of 'N' when all the merged observations have the DBGOV attribute = 'N'.
The qualified observations might come from different test cases; the executed statement lists might overlap; and, by combining together, the code coverage percentage might be improved.
Roll-up use case example
You can define the roll-up option of the four attributes as follows:
Attribute Rollup option
---------- -------------
GroupID1 Y
GroupID2 Y
UserID Y
DbgOv Y
Here are two selected observations based on the selection criteria:
# GrpID GrpID User Lmod CSECT Comp Comp DO tot exec %
ID1 ID2 ID Name Date Time stmt stmt
- ----- ----- ---- ---- ----- ---------- -------- -- ---- ---- ----
1 Pay1 Test1 USERIBM LMD1 PRG1 2013/04/08 10:10:20 Y 100 80 80%
2 Pay1 Test2 USERIBM LMD1 PRG1 2013/04/08 10:10:20 N 100 50 50%
The roll-up process merges #1 and #2 together even when the values of GroupID2 and DbgOv are different because the roll-up option of the two attributes is Yes.
After the two observations are merged, the code coverage percentage becomes 90% because the executed statements in #1 and #2 overlap.