The Design Navigator is a tool for reverse-engineering object-oriented programs into formal charts of any level of abstraction. We show how the Design Navigator discovers abstract building-blocks in the design of programs and how it visualises them in terms of LePUS3, a formal Design Description Language. We demonstrate why reverse engineering programs into a formal modelling and specification language is not only possible in principle but also of practical benefit.
![Step 1: AllClasses stands for the set of all classes in java.util.logging](https://eden-study.org/wp-content/uploads/2016/09/wcre2008-1top.png)
Step 1: AllClasses stands for the set of all classes in java.util.logging
![Step 2: Class hierarchies, class sets, dynamically-bound methods and correlations amongst them in java.util.logging](https://eden-study.org/wp-content/uploads/2016/09/wcre2008-2mid-1024x485.png)
Step 2: Class hierarchies, class sets, dynamically-bound methods and correlations amongst them in java.util.logging
![Step 3: Some classes, methods, and correlations in <code>java.util.logging</code>](https://eden-study.org/wp-content/uploads/2016/09/wcre2008-3bottom.png)
Step 3: Some classes, methods, and correlations in java.util.logging