Detail

Publication date: 1 de June, 2021

M2DM (Eclipse plugin for Java metrics formalization and collection)



Introduction

Metamodel
Driven Measurement (M2DM) is a paradigm-independent approach to formalize and
automatically collect metrics. The latter are defined as OCL queries over a
metamodel representing the target domain. M2DM was proposed in 2001 by 
Fernando Brito e Abreu and
has been used since then within the 
QUASAR research group in
diverse contexts such as UML modeling, component based development,
aspect-oriented development, object-relational databases, IT service management
or business process modeling (see QUASAR’s 
publications and dissertationpages
for more details).

Due
to the emergence of sanitized open source repositories, namely in Java, one of
the 
most
popular programming languages
, the
quest for
mining them for research purposes has
increased lately. Research endeavors of this kind require empirical validation
and the latter implies defining explanatory and outcome variables. Those
variables are expressed in this context by the so-called software
metrics
. Despite the fact that several object-oriented metrics suites have
been proposed in the past (e.g. C&K or MOOD suites), no M2DM open-source
tool for Java was available and we kept receiving requests worldwide for such a
tool. Therefore, we decided to build one on top of Eclipse, the most popular
open-source IDE currently used. Since M2DM requires a metamodel of the target
domain, we proposed the 
EJMM (Eclipse Java Metamodel),
based upon and instantiated through 
Eclipse’s
Java Development Tools
.

The
provided M2DM plugin allows users to easily define new software metrics in OCL
upon the EJMM. We have also ported FLAME (Formal Libray for Aiding Metrics
Extraction) to the EJMM. FLAME was formerly proposed by Aline Baroni and
Fernando Brito e Abreu upon the UML metamodel. Brito e Abreu’s MOOD and
Chidamber and Kemerer metrics suites were formalized upon FLAME and are also
made available.

 

More Info and Citations

For
more information on the internal details of the EJMM tool or for citation
purposes, please refer to:

 

Authors

Fernando Brito e Abreu,

URL http://code.google.com/p/m2dm/
Date 01/09/2013