Reverse Engineering a Uniface Application to C# and Winforms to Java

Overview and Business Case

Codiscent is working to re-platform a substantial Uniface application, beginning with the user interface into C#/Winforms.  The project is planned to occur in several phases, of which, this is the first.  Subsequently, the business logic and data repository will be rebuilt and then the interface will be rebuilt so that the application can be deployed over the web.  The application, which is critical to the client’s business operations, is supported by a shrinking group of engineers that are familiar with Uniface.

Solution Required

The product of this initial phase will be generation of 1,200 presentation and application control forms, to replace those currently implemented in Uniface.


Uniface is a particularly unusual language and has required development of a completely new set of parsing support.

There is no functional documentation or quality assurance specifications from which to work, which necessitates performing functional comparisons between existing and new forms, one-by-one.

Codiscent Solution

Codiscent is employing its reverse engineering capabilities to automate the generation of C# code for this purpose.  It is expected to require approximately five months to transform the application interface.


This project is in progress and on track for successful completion of the current phase.


This project reinforces the validity of Codiscent’s reverse-engineering approach, which is producing results in 40% to 60% of the time that would be expected if generative engineering were not employed.  It is also expected that replatforming the remaining solution layers will be simpler and easier using our tools and the final transformation to web delivery will be much easier, faster and less risky than it would be, otherwise.



Comments are closed.