Design patterns recovery tool

The use of design patterns in a software system can provide strong indications about the rationale behind the system’s design. As a result, automating the detection of design pattern instances could be of significant help to the process of reverse engineering large software systems.

We propose an Object Oriented design pattern recovery approach which makes use of a design pattern library, expressed in terms of visual grammars, and based on a visual language parsing technique. The pattern recovery is organized in two phases. In the first phase, the design pattern instances are identified at a coarse-grained level by considering the design structure only and using a visual language parsing technique. Then, the identified candidate patterns are validated by a fine-grained source code analysis phase.

The pattern recognition process is performed by a tool, namely DPR (Design Pattern Recovery).

Download

Program Version Platform Size Download
Design Pattern Recovery tool 1.4a Windows 685 KB Download

Required software

J2SE 1.6.0 SDK or successive versions.

Installation

Unzip the downloaded rar file into any directory of your disk.

Execution

Execute the file run.bat inside the main directory DesignPatternRecovery.

User guide

  1. Click the Open directory button and choose the source code base directory.
  2. Run the Browse button using the sequence:

  3.      0 - Analyzes all the source code classes.
         1 - Transforms binary data into textual data.
         2 - Examines all the delegations.

  4. It is possible to change extraction options (File > Options) to enable/disable negative criteria and delegation-extend checks. For more information about checks, see help in the Options dialog.

  5. Run the Extraction button to extract candidate patterns.
  6. Run the Validate button to execute source-code analysis.
  7. Click the Results button to show design pattern recovery results into the default browser.
  8. To repeat the process with different options goto step 3.

  9. Note:
    2. 4. 5. and 6. steps can automatically executed running File > Run.

Design pattern definitions

The design pattern recovery process has been implemented to recover the structural design patterns:

Recovered design patterns

The proposed design pattern recovery tool has been tested on five public software and libraries:

Contact information

For any questions or suggestions, please contact us.

E-mail
Andrea De Lucia
Vincenzo Deufemia
Carmine Gravino
Michele Risi