Reverse engineering Java/C++ code to recover design in UML class diagram.