Skip to content

Add COBOL estate analysis: inventory, data dictionary, dependency map, hotspot report - #218

Open
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1781785281-cobol-estate-analysis
Open

devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1781785281-cobol-estate-analysis

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jun 18, 2026

Copy link
Copy Markdown

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


Open in Devin Review

…, 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-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 3 potential issues.

Open in Devin Review

Comment thread APPLICATION_INVENTORY.md Outdated
Comment thread DEPENDENCY_MAP.md Outdated
Comment on lines +388 to +389
| CSDB2RPY | DB2 priming query | COTRTLIC, COTRTUPC |
| CODATECN | Date conversion | CBACT01C |

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 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.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/.

Comment thread HOTSPOT_REPORT.md Outdated
Comment on lines +36 to +45
| 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 |

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 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.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in fb4e75d — re-ranked all dimension scores properly (1-10 within each dimension based on actual measured values) and recalculated composite scores as the correct sum of ranks. The reranking also changed the overall ordering (e.g., COCRDUPC dropped from #4 to #6 due to low I/O rank).

…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/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants