Automated Refactoring

Once your application is fully ingested into TSRI’s Intermediate Object Model (IOM), our fully automated code transformation toolset allows you to conduct a wide variety of refactoring types. These refactorings re-engineer the application to improve the modernized system’s design, architecture, and maintainability, as well asenhance its performance—all without changing the functional equivalency of the application. TSRI's fully automated approach provides a significant advantage over manual performance enhancements, which can easily corrupt the functional equivalency of a modernized application with human-induced errors.

All refactoring operations are carried out against the IOM to generate redesigned code modules and re-architected application tiers, as part of a standard application modernization project. Unified Modeling Language (UML) is generated and quality metrics are reflectedcontinuously within theTransformation Blueprint®. This captures the design and architecture of the application as it evolves and the series of refactoring operations are applied. The code is regression tested after application of each refactoring operation to verify that the refactoring operation has been applied without loss or distortion of functionality

Automatic Refactoring

The fully automated identification and removal of dead and redundant code by JANUSStudio® toolset, to improve system maintainability without changing the customer’s legacy system’s functionality. This type of refactoring does not require customer intervention, and is offered on a fixed price per line of code basis.


TSRI can also take specifications from the customer for further code performance optimization, naming changes, or other refinements/enhancements to improve design and architecture, and apply these changes in a fully-automated fashion across the application. These changes are made system-wide, without affecting the functionality of the application, using fully automated technology, but require feedback and input from the customer.

Custom Refactoring

The types ofsystem-wide changes that TSRI can undertakeare practically limitless, as long as these changes can be described in a pattern-based format. For example, these can include architectural-level refactorings, changing calls from printers to PDF engines, moving from a monolithic structure to microservices, breaking apart highly complex methods into simple and maintainable methods, or remediating security vulnerabilities,among other types of refactoring. These types of refactorings are specified by the client, and are used to make those improvements in a uniform and traceable manner, still using a fully automated transformation engine.

Engineering Support

TSRI supports adaptation of the transformation and refactoring process to the client-specific requirements, including testing and regression support, defect and issue resolution, and support for integration of the system with data base and surrounding systems, and implementation and training support.


Stay up to date on Architecture-Driven Modernization: