The MARPLE (Metrics and Architecture Recognition PLug-in for Eclipse) Project focuses on the development of a complete tool for the recognition of software architectures and of design patterns (also with the help of metrics, both common object-oriented and new ones) inside Java programs. As far as the Design Pattern Detection activity is concerned, the analysis provided by the tool are static and based upon the core concept of the identification of the so-called Design Pattern Clues, which are particular code structures and details which should give hints about the presence of design pattern inside the code.

MARPLE description

This is a preview release of MARPLE-DPD. You can download it from the link below.

To install it into Eclipse, unzip the package into the dropins/ directory of your Eclipse installation. This release was tested on Eclipse Juno SR2. MARPLE requires EMF, GEF and Zest to run (so the best option is to start from a Modeling version of Eclipse). To install EMF and GEF, select: “EMF - Eclipse Modeling Framework SDK” and “Graphical Editing Framework GEF SDK” under the “Modeling” group in the installation GUI of Eclipse. Zest (version 1.5) can be installed from the default repositories as well. We suggest to allow the Eclipse JVM to use at least 2GB of RAM, especially if experimenting with the machine learning algorithms.

We are working on a user guide for the installation and usage of the tool. Meanwhile, users can refer to Section 7.4 of Marco Zanoni's PhD thesis.

DPD Marplespace

This is an Eclipse workspace configured for the analysis of the projects contained in the P-Mart dataset. It contains one project for each P-Mart project, plus a project containing design pattern examples recovered from different sources. For each of these projects there is another project, each one containing an analysis.marpled file. Opening the file you start working with MARPLE-DPD, using the pre-configured setup options. Users are strongly encouraged to use this workspace to experiment with MARPLE, since the project is still in a development stage, and many features are undocumented and lack GUI configuration.

  • Zanoni, Marco, Francesca Arcelli Fontana, and Fabio Stella. 2015. “On Applying Machine Learning Techniques for Design Pattern Detection.” Journal of Systems and Software 103 (0): 102–17. doi:10.1016/j.jss.2015.01.037.
  • Arcelli Fontana, Francesca, and Marco Zanoni. 2011. “A Tool for Design Pattern Detection and Software Architecture Reconstruction.” Information Sciences 181 (7). Università  Degli Studi di Milano-Bicocca, DISCo — Dipartimento di Informatica, Sistemistica e Comunicazione, 20126 Milan, Italy: 1306–24. doi:10.1016/j.ins.2010.12.002.
  • Arcelli, Francesca et al. 2008. “The MARPLE Project — A Tool for Design Pattern Detection and Software Architecture Reconstruction.” In Proceedings of the 1st International Workshop on Academic Software Development Tools and Techniques. WASDeTT 2008. Paphos, Cyprus: Software Composition Group.