Skip to Main Content
In this paper, we study reverse engineering Functional Classes in Java. As a case study we use a middleware application. Functional Classes is a design style that merges both object-oriented and functional programming paradigms. A functional class is a class without variables having pure functions as methods. As a result, a functional class is naturally a mediator. In this paper, as the main contribution, we show that Functional Classes lead to Java byte code that is re-compilable. Consequently, Functional Classes provide a promising basis for mixed design of applications, where the developers can work simultaneously on the project using a UML editor, source code editor, code generator, and optimizer. Then, synchronization between the various tools is achieved on-the-fly using only the byte- code representation.