Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GSE Paris - AMELIO Logic Discovery

61 views

Published on

Prsentation of AMELIO Logic Discovery at the GSE in Paris on 28.03.2015

Published in: Software
  • Be the first to comment

  • Be the first to like this

GSE Paris - AMELIO Logic Discovery

  1. 1. D E L T A software technology T h e G e n e r a t o r C o m p a n y Logic Discovery Martin Herbst Delta Software Technology The Perfect Way to Better Software 1
  2. 2. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. Application Modernisation  Modern frontends  Platform migration  Database migrations  Language transformation Outsourcing and Insourcing projects Understanding of long existing software Use Cases
  3. 3. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 3 Software Evolution
  4. 4. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. The only reliable documentation is the code But how do we get the documentation?  Reduce complexity  Abstraction  Find dependencies 4 The Challenge
  5. 5. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. COBOL Source Code 5 Data Division Procedure Division
  6. 6. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. Per decade about 10% of "dead code" is added Identify unreachable code  Paragraphs, procedures that are never called  Code within paragraphs/procedures that can never be executed  Indirect "dead code" Unused Variables  Never used or only used in unreachable code Consideration of Copy Books / Includes 6 Unreachable Code
  7. 7. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 7 Detected Dead Code Blocks and Data Data Division Procedure Division
  8. 8. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. COBOL: Detect procedures  Sections and paragraphs but no functions or procedures  Procedures can be detected indirectly by analysing PERFORMs Discover Interfaces of procedures Local and global usage of variables 8 Logical Grouping: Procedures PARA-A. … PARA-B. … PARA-C. … PERFORM PARA-A THRU PARA-B
  9. 9. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. Source for code refactorings  e.g. extract composites into subprograms Prerequisite: identification of composite interfaces 9 Logical Grouping: Composites A B C E F D
  10. 10. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 10 Result Data Division Procedure Division
  11. 11. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. I/O Routines  Create / Read / Update / Delete Framework routines  TP-Monitor or mask handling  Reporting  Logging Company- or project-specific 11 Classification of Procedures
  12. 12. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 12 Result 12 Data Division Procedure Division
  13. 13. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 13 Conditions A B C D A  C Rules X > 5 N Y = 4 Y X > 5 X <= 5 AND Y = 4 U = 1 AND V = 7 U = 10 A  C  D Rules X > 5 N Y = 4 Y U = 10 YA  B  D A  C  D Rules U = 1 Y - U = 10 - Y V = 7 Y - X > 5 Y N Y = 4 - Y
  14. 14. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. Search for "Points of Interest"  Bad Smells  Use of keywords as variable names (PL/1)  Too Deeply nested conditions  Open file/cursor without corresponding close  Compliance with coding standards  Preparation of modernisation projects  System- or compiler specific routines  Framework calls Company- resp. project-specific patterns 14 Code Patterns
  15. 15. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. Supported Languages  COBOL  PL/1 Database systems  Relational systems (DB2, Oracle, …)  IMS/DB  File Special support for code generators  Delta ADS, Pacbase, … Company-specific analysis 15 AMELIO Logic Discovery
  16. 16. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 16 Logic Discovery Method Enhanced AST Logical Abstraction Control Flow Data Flow Conditions Model Data Service Model … Knowledge-Base Analysis and Conclusions • Automatic • For the whole application system
  17. 17. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 17 AMELIO Logic Browser
  18. 18. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. 18 Data Definitions – Dead and Unused Neither structure nor elements are used Only sub elements are used Data Element is used The structure and some elements are used Data Element used only in dead code
  19. 19. Logic Discovery, 25. March 2015Copyright © 2015 Delta Software Technology GmbH. Alle Rights reserved. Contact me or my colleague Bianca von Cieminski Live demonstration on inquiry Visit our website https://delta-software.com 19 More Information D E L T A software technology T h e G e n e r a t o r C o m p a n y
  20. 20. AMELIO Logic Discovery, 07. Januar 2015Copyright © 2014 Delta Software Technology GmbH. Alle Rechte vorbehalten. 20 D E L T A software technology T h e G e n e r a t o r C o m p a n y

×