D*Code™ Software Modernization Tool Suite

D*Code Software Modernization Tool Suite FAQs

Can D*Code™ be Customized?

Yes, D*Code can be easily customized. Because every legacy systems is unique, all Legacy Modernization projects require a significant amount of non-standard transformations. Other tools require this be done by hand. D*Code is customized to automate most of those unique transformations.

What D*Code Customization is Possible?

There are four dimensions to UniqueSoft legacy modernization tool customization. This allows the tool to exactly match your project needs and enable analysis and transformation of systems for which no commercial tools exist.

  • System and application analysis
    • Adding relationship maps between code and support elements
    • Adding customer-requested analysis (e.g., Halstead Complexity)
    • Displaying analytical results graphically as software maps

  • Input language
    • Supporting custom extensions to COBOL and other mainframe languages
    • Supporting proprietary legacy languages

  • Transformations applied
    • Creating project-specific transformations, such as improving COBOL code (e.g., improve its complexity metrics, reduce its feature diffusion, eliminate replicated code, etc.)
    • Refactoring, dead code elimination, etc.

  • Output language & legacy and target environments.
    • Supporting proprietary deployment environments (and creating transformations to remove the reliance on that environment)
    • Checking code for compliance with client specific coding standards

What Languages Are Supported?

Any language which has a well defined grammar that will allow logical parsing can be supported. The time needed to add a new language is measured in weeks. D*Code™ currently supports many common languages such as COBOL, PL/I, HLASM, SQL, Visual Basic, Java, C, C++, C#, and Kshell. We have also created parsers for proprietary languages for large scale conversions.

What Languages Can D*Code™ Translate?

Translating between languages (for example, COBOL to Java or C#) is a strength of D*Code™. Some languages like COBOL, PL/I, HLASM, and Visual Basic are typically input languages. Java and C# are typically output languages. Stored procedures like SQL and Kshell can either be input or output. C, C++ are used in embedded applications. Lower level languages, such as Assembler, require more effort to translate into a higher language and can be addressed as a tool customization.

Can D*Code™ Migrate Databases?

As is typical with many conversion projects, migration of code related to databases that are being converted is a necessary part of the process. D*Code™ can be used to convert related code and port this code with the databases.

For Which Domains Can D*Code™ be Used?

Domain-specific customizations have been done for insurance, telecommunications, ETL back-office support, database use, transportation control, finance, network control, data management, rule extraction for product support, inventory control, secure communications, authentication and authorization, and digital signal processing.

Where Is D*Code™ Installed? Where is Project Data Stored?

D*Code™ is delivered as a self-contained Virtual machine (VM). This VM is installed only on the server, which can be any machine supporting standard virtual machines such as Oracle’s VirtualBox. This scheme enables rapid and centralized deployment of multiple customized versions of the tool. The data is also stored on the server with the VM, allowing centralized access to project data.

The VM stores the project data and can be located on the client’s premise or at UniqueSoft, if we are doing the work.

Each individual user interacts with the D*Code™ through a standard web browser such as Internet Explorer, Firefox, or Chrome. No special software is required on the user’s machine. The right to use tool license is independent of the number of users or the number of machines used to access the server.