Add COBOL estate analysis: inventory, data dictionary, dependency map, hotspot report - #218
devin-ai-integration[bot] wants to merge 2 commits into
Conversation
…, hotspot report Comprehensive analysis of the CardDemo COBOL estate covering: - 44 COBOL programs across 4 directories - 45+ JCL jobs with step sequences - All copybook field definitions grouped by entity - Inter-program call graph and dataset lineage - Top 10 complexity hotspots with modernization recommendations
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
| | CSDB2RPY | DB2 priming query | COTRTLIC, COTRTUPC | | ||
| | CODATECN | Date conversion | CBACT01C | |
There was a problem hiding this comment.
🚩 DB2 CSDB2RPY copybook referenced by DEPENDENCY_MAP but not present in app/cpy
The DEPENDENCY_MAP.md at line 388 references CSDB2RPY as a DB2 priming query copybook used by COTRTLIC and COTRTUPC. This copybook doesn't exist in app/cpy/ — it likely resides in app/app-transaction-type-db2/cpy/ which is the correct location for DB2 sub-application copybooks. The DEPENDENCY_MAP's section 4 table doesn't distinguish which cpy/ directory each copybook lives in, which could confuse someone looking for these files. Worth verifying that the DB2 copybooks are correctly located in the sub-application directory.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Fixed in fb4e75d — annotated CSDB2RWY and CSDB2RPY with (in app-transaction-type-db2/cpy/) and IMSFUNCS with (in app-authorization-ims-db2-mq/cpy/) to distinguish sub-application copybook directories from the main app/cpy/.
| | COACTUPC | 10 | 10 | 8 | 10 | 10 | | ||
| | COTRTLIC | 9 | 5 | 10 | 7 | 9 | | ||
| | COTRTUPC | 8 | 7 | 9 | 8 | 7 | | ||
| | COCRDUPC | 7 | 8 | 5 | 9 | 7 | | ||
| | COCRDLIC | 6 | 6 | 6 | 8 | 9 | | ||
| | COPAUA0C | 4 | 9 | 7 | 5 | 9 | | ||
| | CBSTM03A | 3 | 2 | 10 | 3 | 10 | | ||
| | CBTRN02C | 2 | 4 | 7 | 6 | 4 | | ||
| | COPAUS0C | 5 | 7 | 5 | 4 | 8 | | ||
| | CBACT04C | 1 | 3 | 6 | 6 | 4 | |
There was a problem hiding this comment.
🚩 HOTSPOT_REPORT composite scores don't sum to stated values for some programs
The HOTSPOT_REPORT.md shows composite scores in the Top 10 table (lines 21-30) and individual dimension rankings (lines 36-45). For CBSTM03A (line 42), the dimension ranks are 3+2+10+3+10=28, but the composite score is listed as 33. For COTRTLIC (line 37), ranks are 9+5+10+7+9=40, which matches. For COPAUA0C (line 41), ranks are 4+9+7+5+9=34, which matches. For CBTRN02C (line 43), ranks are 2+4+7+6+4=23, but composite is listed as 30. For COPAUS0C (line 44), ranks are 5+7+5+4+8=29, which matches. For CBACT04C (line 45), ranks are 1+3+6+6+4=20, but composite is listed as 28. Several programs have mismatches between their dimension ranks and stated composite scores, which could undermine confidence in the prioritization.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
…c, copybook directories - APPLICATION_INVENTORY.md: Fix overview to 31 programs in app/cbl/ (not 30) and 38 JCL jobs (not 37), totaling 44 programs and 46 JCL jobs - HOTSPOT_REPORT.md: Recalculate dimension ranks so they sum correctly to composite scores - DEPENDENCY_MAP.md: Note that CSDB2RWY/CSDB2RPY live in app-transaction-type-db2/cpy/ and IMSFUNCS in app-authorization-ims-db2-mq/cpy/
Summary
Adds four comprehensive analysis artifacts documenting the entire CardDemo COBOL estate to support modernization planning:
APPLICATION_INVENTORY.md — Catalogs all 44 COBOL programs (31 core + 8 auth/IMS/DB2/MQ + 3 tran-type/DB2 + 2 VSAM/MQ) and 46 JCL jobs with: purpose, batch/online classification, I/O operations, copybook references, and JCL step sequences. Includes Control-M scheduler orchestration (daily backup, weekly DB2 refresh, monthly interest calc).
DATA_DICTIONARY.md — Field-level documentation of every copybook grouped by business entity: Account (
CVACT01Y), Card (CVACT02Y), Customer (CVCUS01Y), Cross-Reference (CVACT03Y), Transaction (CVTRA05Y/06Y), reference data (CVTRA01-04Y), Security (CSUSR01Y), Authorization/IMS (CIPAUDTY/CIPAUSMY/CCPAURQY/CCPAURLY), Export (CVEXPORT), and infrastructure copybooks. Includes PIC clauses, data types, business meaning, and validation rules.DEPENDENCY_MAP.md — Inter-program call graph (CICS XCTL/LINK navigation tree, batch CALL chains, IMS DLI calls, MQ message flows), dataset lineage (VSAM files ↔ programs ↔ JCL jobs, DB2 tables, IMS databases, MQ queues), and 8 end-to-end batch pipeline flow diagrams (daily posting, backup, monthly interest, statement generation, reporting, export/import, weekly DB2 refresh, IMS maintenance). Copybook dependency matrix distinguishes sub-application directories (
app-transaction-type-db2/cpy/,app-authorization-ims-db2-mq/cpy/).HOTSPOT_REPORT.md — Ranks top 10 programs by composite score across LOC, copybook fan-out, I/O breadth, logic density (IF/EVALUATE count + nesting depth), and inter-program dependencies.
COACTUPC(4,236 LOC, 58 copybooks, 194 conditionals) ranks feat: Modernize COBOL CBACT01C batch program to Java 17+ #1 with composite 44/50. Includes 3-tier modernization priority recommendations with risk analysis covering VSAM AIX semantics, IMS hierarchy flattening, MQ correlation, COMP-3 arithmetic, and plaintext password migration.Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/4d0e489beb4d4a0aa0739a12aa731859
Requested by: @bsmitches