Abstract :
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.
Keywords :
Java; Unified Modeling Language; functional programming; middleware; object-oriented programming; optimising compilers; reverse engineering; synchronisation; Java byte-code representation; UML editor; code generator; functional class; functional programming; middleware; object-oriented programming; optimising compiler; reverse engineering; source code editor; synchronization; Application software; Binary codes; Computer science; Functional programming; Information technology; Java; Middleware; Packaging; Reverse engineering; Unified modeling language; Decompilation; Functional Classes; Java Bytecode; Middleware; Reverse Engineering;