One of our favorite Leadership Principle is “Insist on Highest Standards”. We apply it in our work methodology, our testing strategy, development workflow, deployment strategy, etc. It is actionable and the outcomes are easy to identify (i.e. less bugs and more satisfied customers). For example, we maintain over 2000 test cases covering the most used UI features, the dependencies statements, the classification, the security, the performance, etc. This new release was fully dedicated to quality, i.e. we updated over 200 test cases and mainly improved existing features (e.g. UI fixes, dependencies results and Capture&Replay fine tuning).

We are receiving more and more feedbacks from all of you. Please continue doing so, we are happy to help and improve AWS Blu Insights working backward from your needs.

All the details about this new release are below and the documentation has been updated accordingly. Enjoy!

 

New Features

 

Dependencies

  • CL
    • Dependencies analysis is already supporting file paths in the CALL statement. However, it was not supportive for Library. Now, dependency analysis handles the libraries (*LIBL, *CURLIB, library name) in the CALL statement.
    • *LIBL: files matches in all libraries. E.g. CALL PGM(*LIBL/file)
    • *CURLIB: files matches in the current library
    • library name: files matches in the named library. E.g. CALL PGM(COMMONLIB/file). Here, if COMMONLIB (library name) is not found during analysis, then Missing Library node named COMMONLIB is created.
  • COBOL
    • Read, rewrite and write can be applied to a subfile by using the keyword SUBFILE after READ, REWRITE or WRITE keyword. The keyword SUBFILE was a false positive. These statements are now handled.

REWRITE SUBFILE STUDENT-SUBFILE

    • Sort Description declarations are now supported in Cobol and will create Object nodes like FD declaration does. For instance: SD MYSORTDESC. Sort Description can be addressed through SQL statements.
  • IMS
    • Dependency analysis can now handle the IMS (Information Management System) and create the dependency link between PSB (Program Specification Block) and DBD (Database Description) using the PCB (Program Communication Block) statement.

label PCB TYPE=DB DBDNAME=DBD_FILE

  • JCL
    • Dependency analysis is already supporting the system utilities (like DFSRRC00) in the JCL file. We added the support for the additional system utility DLIBMP. With the help of system utility, JCL file is accessing the database using PSB file. Hence, dependency analysis is establishing the link from JCL file to PSB file and COBOL program.

EXEC DLIBMP,NAME=COBOL_PROGRAM,PSB=PSBFILE

  • RPG
    • JFILE and PFILE statements in the logical file supports multiple parameters E.g.: JFILE(PF1 PF2). Dependency analysis is now handling this case.
    • Dependency analysis is supporting libraries (*LIBL, *CURLIB, library name) as similar to CL language in the JFILE and PFILE statement.
    • Logical file also create the ‘Missing library’ node as similar to CL language in case of library name is not found during the analysis.

 

Improvements

 

File deletetion

We improved the performances of files deletion in Codebase projects (going from 60+ minutes to 30 seconds for 2000 files)!

Dependencies

  • Dependencies performance on large projects has been improved by 20%.
  • Mainframe
    • CL
    • Handling of comments section in the CLP language has been improved to avoid the false positive dependency link.
    • Label with CALL keyword (Ex: CALLTRN) is lead to having a false positive dependency link. It has been fixed.
    • The CALL keyword presents in the STRING value (Ex: SNDUSRMSG MSG(‘CALL IN MSG’)) is causing a false positive dependency link. Now, dependency analysis is ignoring the content inside STRING values.
    • The SRCMBR parameter of RUNSQLSTM statement gave a false positive in the dependency analysis. This issue has been fixed.
    • CALL statements can be used as an expression, for example, in IF statements. The dependency analysis didn’t detect these calls. This issue has been fixed.

IF COND(&VAR *EQ '1') THEN(CALL PGM(PGM1))

    • RPG
      • In physical file, when a REFFLD parameter is followed by another parameter like COLHDG, the analysis showed a false positive composed by the value of REFFLD and the parameter COLHDG value. This issue has been fixed. In the following example, the false positive was COLHDG(‘HDG1’

A B1KID2 R REFFLD(FLD) COLHDG('HDG1')

      • An array initialisation section can begin with two star characters only. The dependency analysis doesn’t handle that, a false positive can appear on some rare occasions. This issue has been fixed.
      • RPG freeform statements can refer to their own source file. In those cases, missing nodes were created in the dependency graph. The dependency analysis will no longer consider such false positives.
      • The variables used in RPG dynamic calls should have a variable assigned to them. If not, the dependency analysis was creating false positive nodes with the variable’s name. Such nodes were irrelevant, so the dependency analysis was improved to ignore dynamic calls when no value can be found for the variable.
      • The dependencies engine now ignores hidden files and folders to improve the performance and provide more consistent graphs.
      • The download of empty JSON is not proposed anymore, the empty JSON is handled as a failure.
      • The parsing doesn’t fail if a node name is null or empty.

Transformation Center

  • In order to enhance the user experience of the Transformation Center, Velocity versions are now split into Nightly Builds and Official Releases.
  • In order to simplify the launch of a run, you can now launch a set of files without mandatory dependency analysis.

Capture & Replay

  • Removed hidden fields verification from JSON and side files in TN5250 (20% decrease in the file size, i.e. faster loading for users).
  • Side and JSON files are still generated in case the video is not available.
  • The Side file is more readable and its commands comments contains timestamps.
  • Duration color changes with a displayable tooltip if the duration exceeds ten minutes.

Login/Registration

Legacy login and registration pages (using the MFA) are now deprecated, and the user is redirected to the Single Sign-On pages.

Profile

You can now add a description for your profile. It will help you identify at a glance which account you are working on. This description is displayed under your name at the top right of the application.

 

Codebase

  • Test scenarios can now have multiple parents.
  • Homonyms are now case insensitive.

 

Bug fixes

 

Capture & Replay

  • WRITE actions on written fields have the wrong column value.
  • Recording can be lost if the video crashes.

Transformation Center

  • Status and labels were not displayed on Todo cards.
  • Fix a bug on the metrics of transformed lines of code.
  • Fix the refresh of the Transformation Center Usage page.
  • Fix the inability to create a Billed Transformation Center project.
  • Velocity version was not displayed correctly while saving the run.
  • The value of Processed inputs was updated when deleting inputs related to the run.
  • The Generic analysis fails to calculate the lines metrics after the versioning (bulk upload) of files with no extensions.

Common

  • Services were not displayed in showcase.

Behind the scene

  • We updated all our technical dependencies (based on Amazon Inspector findings).
  • We added over 45 test scenarios to our qualification pipeline.
  • We provided support to the ongoing projects, pocs and trainings (+90 requests).
  • We enhanced Velocity build tests against new outputs that might be generated when a configuration is provided.