Files
cobol-tna-system/品質管理/カバレッジ統計.md

21 KiB
Raw Permalink Blame History

カバレッジ統計

本ファイルは全コードベース(KIN + ZAN + SUB)を統合したカバレッジ状況を集計する。 定義ファイル(COBOLキーワード網羅定義書.md)の ## 1.(予約語一覧)・## 2.(TYPE定義)を参照して集計する。 凡例:◎=完全使用(全構文形式を使用)、△=一部使用(一部の構文形式のみを使用)、×=未使用


1. プログラムタイプカバレッジ

1.1 全35タイプ内訳

No. 名称 分類 対応プログラム 状態
01 マッチング(11 匹配 ZAN04MAT
02 マッチング(1N 匹配 KIN05MAT, KIN03EXP
03 マッチング(N1 匹配 ZAN03CHK
04 レイアウト編集のみ(GETPUT 编辑 KIN06CLD
05 振り分け(IF文) 分支 全メインプログラム(12本)
06 振り分け(EVALUATE文) 分支 12本中11本(KIN04/KIN06以外)
07 キーブレイク(集計) key切 ZAN05CAL
08 キーブレイク(集約) key切 ×
09 DB更新 数据库 KIN02UPD, ZAN06UPD
10 50分割 分割 ×
11 25分割 分割 ×
12 100分割 分割 ×
13 項目チェック(重複含まず) 校验 ZAN01CHK, ZAN03CHK, KIN01INP, KIN04CHK, SUB04CHK
14 オンラインPGM online ×
15 CSV→FB変換(改行なし) 文件转换 ZAN01CHK(UNSTRING), KIN01INP(UNSTRING)
16 2段階マッチング(11⇒11 匹配 ×
17 2段階マッチング(N1⇒N1 匹配 ×
18 マッチングMN⇒出力M件 匹配 ×
19 マッチングMN⇒出力N件 匹配 ×
20 マッチングMN⇒出力M×N件 匹配 ×
21 CSV→FB変換(改行あり) 文件转换 ×
22 2段階マッチング(MN⇒MN 匹配 ×
23 SELECT条件 数据库 ×
24 内部テーブル検索 内部处理 KIN01INP(SEARCH), KIN03EXP(SEARCH ALL), ZAN03CHK(SEARCH ALL)
25 サブプログラム使用 内部处理 SUB01DATSUB05TIM
26 DB検索 数据库 KIN03EXP, KIN06CLD
27 項目チェック(半角20桁/4桁) 校验 ×
28 SYSIN読込 内部处理 KIN08DBU
29 ASCII→EBCDIC変換 文件转换 ×
30 キーブレイク(集計集約以外) key切 KIN03EXP(社員小計), ZAN02CHK(重複検出), KIN05MAT(N:1ループ)
31 項目チェック(重複含む) 校验 ZAN02CHK(時間帯重複)
32 1:N+キーブレイク(同キー) 混合 ×
33 1:N+キーブレイク(異キー) 混合 ×
34 SORTINPUT/OUTPUT PROCEDURE 排序 ×
35 MERGE(複数ファイル結合) 排序 ×

1.2 集計

指標
全タイプ数 35
◎(使用) 16
×(未使用) 19
カバレッジ率(◎/35 45.7%

2. TYPE定義カバレッジ(PICTURE句)

COBOLキーワード網羅定義書.mdの ## 2.1 PICTURE記号一覧(11種)に基づき、コードベースでの使用状況を集計する。

2.1 PICTURE記号別使用状況

No. 記号 名称 使用状況 使用例
1 X 英数字文字 PIC X(1)X(303) 全プログラム(19種の長さ)
2 G DBCS文字 × 未使用(日本語項目は全てPIC Xで定義)
3 N ナショナル/DBCS文字 × 未使用
4 9 数字 PIC 9(1)~9(9) 全プログラム(カウンタ・フラグ・集計)
5 9(m)V9(n) 固定小数点数 PIC 9(4)V9(1)WRK-ACCUM-HOURS等)
6 S9(m)V9(n) 符号付き固定小数点数 PIC S9(5)V9(1)ZAN03CHK
7 S9(m)V9(n) COMP-3 パック10進符号付き固定小数 PIC S9(7)V9(1) COMP-3DB-OVT-HOURS
8 S9(m) COMP-3 パック10進符号付き整数 PIC S9(9) COMP-3CUN-*計数項目 計15変数)
9 S9(m) COMP 2進符号付き整数 PIC S9(9) COMP(索引・カウンタ)
10 S9(m) BINARY 2進符号付き整数(COMP同義) × COMPで代用、BINARY表記は不使用
11 ZZZ9 ゼロ抑制編集 × 未使用(Z(3)9.9は補足形式として使用中)

2.2 未使用PICTURE記号

記号 名称 備考
G DBCS文字 日本語項目はPIC Xで十分
N ナショナル/DBCS文字 NSYMBOL(NATIONAL)設定時のみ必要
BINARY 2進符号付き整数 COMPで代用可
ZZZ9 ゼロ抑制編集 現在不使用

2.3 補足:特殊編集形式

コードベースでは上記11種に加え、以下の編集形式が使用されている:

形式 使用先
+9(009) WS-DISP-HV-SICK-H等(符号付き表示編集)
Z(3)9.9 WS-DISP-HV-ANNUAL-H等(ゼロ抑制編集・小数点明示)
S9 DISPLAY WS-DISP-CUN-DBXUPD等(COMP-3→DISPLAY変換用)
9(004).9(001) 編集出力時の小数点明示形式

3. 予約語カバレッジ一覧

全205予約語(COBOLキーワード網羅定義書.md Part1 192語 + 補足13語)をアルファベット順に一覧する。 凡例:◎=全構文形式使用、△=一部構文形式使用、×=未使用

判定基準:定義書の「構文形式一覧」に記載された各形式がコードベースで使用されているかどうかで評価。

No. 予約語 使用状況 使用プログラム/備考
1 ACCEPT FROM COMMAND-LINEのみ(KIN06CLD,KIN09CSV)。FROM DATE/TIME/DAY未使用
2 ACCESS × ACCESS MODE句未使用
3 ADD ADD TO/GIVING/CORRESPONDING/ROUNDED 全メインプログラム
4 AFTER WRITE AFTER ADVANCING(KIN09CSV)、PERFORM TEST AFTER(ZAN06UPD)のみ。INSPECT AFTER未使用
5 ALL SEARCH ALL(KIN03EXP,ZAN03CHK)、INSPECT REPLACING ALL(KIN08DBU,KIN09CSV)。FIGURATIVE CONSTANT(VALUE ALL)未使用
6 ALPHABETIC × 未使用
7 ALPHABETIC-UPPER × 未使用
8 ALSO × EVALUATE ALSO未使用(全EVALUATEは単一条件式のみ)
9 AND 条件式AND 全プログラム
10 ANY × SEARCH ANY未使用
11 APPLY × I-O-CONTROL段落未使用
12 ASCENDING OCCURS ASCENDING KEY(KIN01INP,KIN03EXP,KIN06CLD,SUB04CHK,ZAN03CHK)、SEARCH ALL
13 ASSIGN SELECT ASSIGN TO 全プログラム
14 AT READ AT END、SEARCH AT END使用。WRITE AT END-OF-PAGE未使用
15 AUTHOR IDENTIFICATION DIVISION 全プログラム
16 BINARY × COMP使用、BINARY表記不使用
17 BLOCK FD BLOCK CONTAINS 全ファイル入出力PGM
18 BY PERFORM VARYING BY、MULTIPLY BY、DIVIDE BY使用。CALL BY REFERENCE/CONTENT/VALUE未使用
19 CALL CALL USING使用。ON EXCEPTION/NOT ON EXCEPTION未使用
20 CHARACTER × OBJECT-COMPUTER未使用
21 CHARACTERS INSPECT CHARACTERS(ZAN01CHK,KIN04CHK,SUB04CHK)
22 CLOSE CLOSE(単純CLOSEのみ)。WITH LOCK/NO REWIND/REEL/FOR REMOVAL未使用
23 COMP USAGE COMP カウンタ/フラグ
24 COMP-3 USAGE COMP-3 集計/金額項目
25 COMP-4 × COMPと同義だが不使用
26 COMPUTE COMPUTE ROUNDED/SIZE ERROR(ZAN01,ZAN03,ZAN05,KIN03,KIN06,SUB05)
27 CONDITION × 未使用
28 CONFIGURATION CONFIGURATION SECTION 全プログラム
29 CONTAINS FD BLOCK CONTAINS / RECORD CONTAINS
30 CONTINUE SEARCH AT END、EVALUATE WHEN OTHER(全プログラム)
31 CONVERTING × INSPECT CONVERTING未使用
32 COPY COPY 全プログラム(C書式取込み、REPLACING含む)
33 CORR × MOVE CORR/ADD CORR/SUBTRACT CORR未使用
34 COUNT × UNSTRING COUNT IN未使用(INSPECT TALLYINGは別キーワード)
35 CURSOR DECLARE/OPEN/FETCH/CLOSE CURSOR(KIN02UPD,KIN03EXP,KIN06CLD,KIN09CSV)
36 DATA DATA DIVISION 全プログラム
37 DATE × ACCEPT FROM DATE未使用(SUB01DATはFUNCTION CURRENT-DATE使用)
38 DATE-COMPILED IDENTIFICATION DIVISION 全プログラム
39 DATE-WRITTEN IDENTIFICATION DIVISION 全プログラム
40 DECLARATIVES × 未使用
41 DELETE EXEC SQL DELETE(KIN02UPD,KIN08DBU)。COBOL DELETE文(SEQ FILE)未使用
42 DELIMITED STRING/UNSTRING DELIMITED BY
43 DELIMITER × UNSTRING DELIMITER IN未使用
44 DEPENDING OCCURS DEPENDING ON(KIN03EXP,ZAN03CHK)、GO TO DEPENDING ON(KIN08DBU)
45 DESCENDING × 未使用
46 DISPLAY DISPLAY文(MSG出力)4プログラム。USAGE DISPLAY句未使用、UPON/WITH NO ADVANCING未使用
47 DISPLAY-1 × 未使用
48 DIVIDE DIVIDE INTO/BY/GIVING/REMAINDER/ROUNDED(ZAN01,ZAN05,SUB05,KIN07)
49 DIVISION IDENTIFICATION/ENVIRONMENT/DATA/PROCEDURE DIVISION 全プログラム
50 DOWN × SET DOWN未使用
51 DYNAMIC × 未使用
52 EJECT × 未使用
53 ELSE IF ELSE END-IF 全プログラム
54 END END-IF、END-READ、END-PERFORM等スコープターミネータ 全プログラム
55 END-ADD × ADD文のスコープターミネータ未使用(ピリオド終端)
56 END-CALL END-CALL(CALL使用PGM)
57 END-COMPUTE END-COMPUTE(COMPUTE使用PGM)
58 END-DIVIDE × DIVIDE文のスコープターミネータ未使用
59 END-EVALUATE END-EVALUATE(EVALUATE使用11PGM)
60 END-EXEC END-EXEC(EXEC SQL使用5PGM)
61 END-IF END-IF 全プログラム
62 END-PERFORM END-PERFORM 全プログラム
63 END-READ END-READ(READ使用PGM)
64 END-SEARCH END-SEARCH(SEARCH使用PGM)
65 END-STRING END-STRING(STRING使用PGM)
66 END-SUBTRACT × SUBTRACT文のスコープターミネータ未使用
67 END-UNSTRING END-UNSTRING(UNSTRING使用PGM)
68 ENVIRONMENT ENVIRONMENT DIVISION 全プログラム
69 ERROR ON SIZE ERROR(COMPUTE:ZAN01,ZAN03,ZAN05)
70 EVALUATE EVALUATE TRUE/WHEN/WHEN OTHER使用。ALSO未使用。構文形式一覧のALSO形式が未使用のため△
71 EXEC EXEC SQL使用。EXEC CICS未使用
72 EXCEPTION × CALL ON EXCEPTION未使用
73 EXECUTE × 未使用
74 EXIT EXIT(段落終端)全プログラム、EXIT PERFORM(KIN06CLD,KIN07DAI,KIN08DBU)、EXIT SECTION(KIN08DBU)。EXIT PROGRAM/EXIT PARAGRAPH/EXIT METHOD未使用
75 FALSE × SET TO FALSE未使用
76 FD FILE DESCRIPTION 全ファイル入出力PGM
77 FILE FILE SECTION、FILE-CONTROL 全プログラム
78 FILE-CONTROL FILE-CONTROL SELECT ASSIGN 全プログラム
79 FILLER FILLER 全プログラム(DATA DIVISION)
80 FIRST INSPECT FIRST(ZAN01CHK,KIN04CHK,SUB04CHK)
81 FOR PERFORM VARYING...FORKIN06CLD,KIN08DBU,ZAN06UPD
82 FROM STRING FROM、PERFORM VARYING FROM、ACCEPT FROM
83 GET × 未使用
84 GIVING DIVIDE/MULTIPLY GIVING(ZAN01,ZAN05,SUB05,KIN07,ZAN06)
85 GO GO TO(KIN01INP,SUB04CHK等)、GO TO DEPENDING ON(KIN08DBU)
86 GOBACK GOBACK 全20プログラム
87 GREATER × IS GREATER THAN未使用
88 HIGH-VALUE MOVE HIGH-VALUE(ZAN03CHK,ZAN04MAT,ZAN05CAL)
89 I-O-CONTROL × I-O-CONTROL段落不使用
90 ID × PROGRAM-ID以外のID未使用
91 IDENTIFICATION IDENTIFICATION DIVISION 全プログラム
92 IF IF ELSE END-IF 全プログラム
93 IN INSPECT TALLYING IN、SEARCH IN、COPY IN
94 INDEXED OCCURS INDEXED BY(KIN01INP,KIN03EXP,KIN06CLD,ZAN03CHK)
95 INITIAL × PROGRAM-ID INITIAL属性未使用。INITIAL VALUEはVALUE句で代替
96 INITIALIZE INITIALIZE(基本形)全プログラム。REPLACING/WITH FILLER未使用
97 INPUT OPEN INPUT、INPUT-OUTPUT SECTION
98 INPUT-OUTPUT INPUT-OUTPUT SECTION 全プログラム
99 INSERT EXEC SQL INSERT(KIN02UPD,KIN08DBU)。COBOL INSERT(コンパイラ指示文)未使用
100 INSPECT INSPECT TALLYING/REPLACING/FIRST/CHARACTERS(ZAN01CHK,KIN04CHK,SUB04CHK,KIN08DBU,KIN09CSV)
101 INTO READ INTO、STRING INTO、UNSTRING INTO、SQL INTO
102 INVALID × COBOL INVALID KEY未使用
103 IS 条件式IS、ACCESS MODE IS、LABEL RECORD IS等 全プログラム
104 KEY ASCENDING/DESCENDING KEY、SEARCH KEY、OCCURS KEY
105 LABEL FD LABEL RECORDS STANDARD
106 LENGTH LENGTH OF(SUB04CHK)
107 LINKAGE LINKAGE SECTION サブプログラム(SUB01-05)CALL有PGM
108 LOW-VALUE LOW-VALUES(KIN08DBU)
109 MODE RECORDING MODE F/V
110 MOVE MOVE TO 全20プログラム
111 MULTIPLY MULTIPLY BY/GIVING/ROUNDED(KIN07DAI,ZAN06UPD)
112 NEXT × READ NEXT未使用(順次読込のみ)
113 NOT NOT AT END、NOT ON ERROR、IF NOT 全プログラム
114 NUMERIC IF NUMERIC(KIN06CLD,SUB04CHK)
115 OBJECT-COMPUTER OBJECT-COMPUTER 全プログラム
116 OCCURS OCCURS TIMES/DEPENDING ON/INDEXED BY
117 OF データ参照修飾、LENGTH OF(全プログラム)
118 OMITTED × CALL OMITTED未使用
119 ON ON SIZE ERROR、OCCURS DEPENDING ON
120 OPEN OPEN INPUT/OUTPUT 全ファイル入出力PGM
121 OPTIONS × CBL/PROCESS文未使用
122 OR 条件式OR、UNSTRING DELIMITED BY OR
123 ORDER × COBOL SORT未使用(SQL ORDER BYはCOBOL SORT文のORDERとは異なる)
124 ORGANIZATION × ORGANIZATION句未使用
125 OTHER EVALUATE WHEN OTHER
126 OUTPUT OPEN OUTPUT
127 PACKED-DECIMAL × COMP-3使用、PACKED-DECIMAL表記不使用
128 PAGE WRITE AFTER ADVANCING PAGE(KIN09CSV)。FD LINAGE句未使用
129 PAGE-COUNTER × 未使用(LINAGE不使用のため)
130 PERFORM PERFORM(外部段落)/UNTIL/VARYING/THRU/TEST AFTER使用。TIMES/TEST BEFORE/VARYING AFTER未使用
131 PIC PICTURE句 全プログラム
132 POINTER STRING WITH POINTER(KIN09CSV)
133 PROCEDURE PROCEDURE DIVISION 全プログラム
134 PROGRAM-ID PROGRAM-ID 全プログラム
135 RANDOM × 未使用
136 READ READ INTO AT END使用。KEY IS/NEXT/PREVIOUS/WITH WAIT/LOCK未使用
137 RECORD FD RECORD CONTAINS、RECORDING MODE
138 RECORDING FD RECORDING MODE F/V
139 RECORDS FD LABEL RECORDS STANDARD、BLOCK CONTAINS RECORDS
140 REDEFINES REDEFINES(各種PGM WORKING-STORAGE)
141 REMAINDER DIVIDE GIVING REMAINDER(ZAN01,ZAN05,SUB05,KIN07)
142 REMOVAL × CLOSE FOR REMOVAL未使用
143 REPLACING COPY REPLACING(全プログラム)、INSPECT REPLACING(KIN08DBU,KIN09CSV)。INITIALIZE REPLACING未使用
144 RERUN × I-O-CONTROL段落未使用
145 RETURN-CODE × 特殊レジスタRETURN-CODE未使用(WRK-RETURN-CODEは変数名)
146 ROUNDED COMPUTE ROUNDED、DIVIDE/MULTIPLY ROUNDED(ZAN01,ZAN03,ZAN05,KIN03,KIN06,SUB05,ZAN06)
147 RUN STOP RUNのみ(SUB03END)。STOP literal未使用
148 SEARCH SEARCH(KIN01INP)、SEARCH ALL(KIN03EXP,ZAN03CHK)、VARYING/AT END/WHEN全て使用
149 SECTION CONFIGURATION/INPUT-OUTPUT/WORKING-STORAGE/LINKAGE/PROCEDURE SECTION
150 SELECT SELECT ASSIGN(FILE-CONTROL)全プログラム、SQL SELECT
151 SENTENCE × NEXT SENTENCE未使用
152 SET SET TO TRUE(KIN08DBU,ZAN05CAL)。SET TO FALSE/UP BY/DOWN BY/ADDRESS OF未使用
153 SHIFT-IN × 未使用
154 SHIFT-OUT × 未使用
155 SIZE ON SIZE ERROR(COMPUTE:ZAN01CHK,ZAN03CHK,ZAN05CAL)
156 SKIP2 × 未使用(SKIP1/SKIP2/SKIP3
157 SOURCE-COMPUTER SOURCE-COMPUTER IBM-ZSERIES 全プログラム
158 SPACE SPACE/SPACES INITIALIZE後、VALUE、MOVE、条件比較
159 SPACES SPACES(SPACEと同義、INSPECT REPLACING ALL等)
160 SQL EXEC SQL(KIN02UPD,KIN03EXP,KIN08DBU,KIN09CSV,ZAN06UPD)
161 STANDARD FD LABEL RECORDS STANDARD
162 STOP STOP RUNのみ(SUB03END)。STOP literal未使用
163 STRING STRING DELIMITED BY INTO使用。ON OVERFLOW未使用
164 SUBTRACT SUBTRACT FROM/GIVING/ROUNDED(KIN07DAI,ZAN06UPD)
165 TABLE × SEARCH TABLE参照(変数名にはHOLIDAY-TABLE等あるが、TABLE予約語としては未使用)
166 TALLYING INSPECT TALLYING、UNSTRING TALLYING IN(ZAN01CHK,KIN04CHK,SUB04CHK,KIN08DBU)
167 TEST PERFORM TEST AFTER(ZAN06UPD)。TEST BEFORE未使用だが単一形式で◎
168 THEN IF THENSUB04CHK,SUB05TIMで明示的THEN使用)
169 THRU PERFORM THRU(KIN03EXP,KIN08DBU)。VALUE THRU未使用
170 TIME × ACCEPT FROM TIME未使用(SUB01DATはFUNCTION CURRENT-DATE使用)
171 TIMES OCCURS TIMES(KIN01INP,KIN03EXP,KIN06CLD,KIN08DBU,ZAN03CHK)
172 TO MOVE TO、ADD TO、GO TO 全プログラム
173 TRUE EVALUATE TRUE、SET condition TO TRUE
174 TYPE × 変数名(WRK-ERR-TYPE等)はあるがTYPE予約語としては未使用
175 UNSTRING UNSTRING DELIMITED BY INTO(KIN01INP,KIN04CHK,ZAN01CHK)
176 UNTIL PERFORM UNTIL 全プログラム
177 UP × SET UP未使用
178 UPON × DISPLAY UPON未使用
179 USAGE USAGE COMP/COMP-3
180 USE × USE文未使用
181 USING PROCEDURE DIVISION USING、CALL USING 全プログラム
182 VALUE VALUE 全プログラム(88条件名、初期値)
183 VALUES × 88条件値VALUES(VALUE句複数値)未使用。SQLのVALUES句は別コンテキスト
184 VARYING PERFORM VARYING(ZAN06UPD,KIN06CLD,KIN08DBU)、SEARCH VARYING(KIN01INP)
185 WHEN EVALUATE WHEN、SEARCH WHEN
186 WHEN-COMPILED FUNCTION WHEN-COMPILED 全15プログラム
187 WITH STRING WITH POINTER、WRITE WITH ADVANCING、INITIALIZE WITH FILLERは未使用だが他で◎
188 WORKING-STORAGE WORKING-STORAGE SECTION 全プログラム
189 WRITE WRITE FROM/AFTER ADVANCING使用。BEFORE ADVANCING/END-OF-PAGE未使用
190 WRITE-ONLY × I-O-CONTROL段落未使用
191 ZERO ZERO/ZEROS VALUE、MOVE ZERO 全プログラム
192 ZEROS ZEROS(ZEROと同義、KIN08DBU LOW-VALUES)
193 ALTER × 非推奨
194 CANCEL × 未使用
195 ENTRY × 未使用
196 MERGE × JCL PGM=SORTに委譲
197 RELEASE × COBOL SORT未使用
198 RETURN × COBOL RETURN文未使用(RETURN-CODEは特殊レジスタ、WRK-RETURN-CODEは変数名)
199 REWRITE × VSAM非対応
200 SORT × JCL PGM=SORTに委譲
201 START × 順次読込のみ
202 SAME × SAME RECORD/SORT AREA未使用
203 FUNCTION FUNCTION MOD/WHEN-COMPILED/NUMVAL/INTEGER-OF-DATE/MIN/MAX/TRIM(KIN03EXP,KIN06CLD,KIN08DBU,KIN09CSV)
204 BEFORE × INSPECT BEFORE/WRITE BEFORE ADVANCING/PERFORM TEST BEFORE未使用
205 ADDRESS × ADDRESS OF未使用(SET ADDRESS OF未使用)

4. 全体サマリ

指標
プログラムタイプカバレッジ(35タイプ)
◎(使用) 16 / 35
×(未使用) 19 / 35
カバレッジ率(◎/35 45.7%
実装対象限定(1-9,13-15,24-26,28,30-31= 20種中 16件 = 80.0%
PICTURE記号カバレッジ(Section 2.1
全記号数(11種) 11
使用済記号(◎+△) 7
未使用記号(×) 4
カバレッジ率 63.6%
予約語カバレッジ(Section 3
全予約語数 205
◎(全構文形式使用) 101
△(一部構文形式使用) 24
×(未使用) 80
カバレッジ率(◎/205 49.3%
カバレッジ率(◎+△/205 61.0%
TYPE定義カバレッジ(11種)
全TYPE定義数 11
使用済TYPE 7X, 9, 9V9, S9V9, S9V9 COMP-3, S9 COMP-3, S9 COMP
特殊形式(補足) 39(004).9(001), S9 DISPLAY, +9(009)
未使用TYPE 4G, N, BINARY, ZZZ9
TYPEカバレッジ率 63.6%(特殊含め90.9%

本ファイルは全コードベース(KIN01-09 + ZAN01-06 + SUB01-05 = 20プログラム)を統合したカバレッジ状況。 定義ファイル(COBOLキーワード網羅定義書.md)と合わせて参照すること。