User Tools

Site Tools


pom

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pom [2014/01/10 05:56]
yann
pom [2017/09/06 01:54]
Line 1: Line 1:
-====== POM ====== 
  
- 
-===== Metrics definitions ===== 
- 
-^ Names ^ Definitions ^ 
-| ACAIC | Ancestor Class-Attribute Import Coupling | | 
-| ACMIC | Ancestors Class-Method Import Coupling | 
-| AID | Average Inheritance Depth of an entity | 
-| ANA | Count the average number of classes from which a class inherits informations | 
-| CAM | Computes the relatedness among methods of the class based upon the parameter list of the methods | 
-| CBO | Coupling Between Objects of one entity | 
-| CBOingoing | Coupling Between Objects of one entity (in-going coupling only, towards the entity) | 
-| CBOoutgoing | Coupling Between Objects of one entity (out-going coupling only, from the entity) | 
-| CIS | Counts the number of public methods in a class | 
-| CLD | Class to Leaf Depth of an entity. | 
-| cohesionAttributes | Percentage of fields (declared and inherited) used by the declared methods of one entity | 
-| connectivity | Number of couples of methods that use each other | 
-| CP | Number of packages that depend on the package containing entity | 
-| DAM | Returns the ratio of the number of private(protected) Attributes to the total number of Attributes declared in a class | 
-| DCAEC | Returns the DCAEC (Descendants Class-Attribute Export Coupling) of one entity | 
-| DCCdesign | Number of classes that a class is directly related to (by attribute and parameter declarations) | 
-| DCCimplementation | Number of classes that a class is directly related to (by attribute declarations and message passing) | 
-| DCMEC | Returns the DCMEC (Descendants Class-Method Export Coupling) of one entity | 
-| DIT | Returns the DIT (Depth of inheritance tree) of an entity. | 
-| DSC | Total number of classes in a model | 
-| EIC | Number of inheritance relationships in which superclasses are in external packages | 
-| EIP | Number of inheritance relationships where the superclass is in the package containing entity and the subclass is in another package | 
-| FanOut | Number of methods and fields used by one entity | 
-| ICHClass | Compute the complexity of an entity as the sum of the complexities of its declared and inherited methods | 
-| IR | Number of calls from the methods of an entity to the methods and fields declared in its super-entities | 
-| LCOM1 | Returns the LCOM (Lack of COhesion in Methods) of an entity | 
-| LCOM2 | Returns the LCOM (Lack of COhesion in Methods) of an entity | 
-| LCOM5 | Returns the LCOM (Lack of COhesion in Methods) of an entity | 
-| LOC | Returns the numbre of line of code in the methods of an entity | 
-| McCabe | Returns the sum of the cyclomatic complexities of the operations of an entity | 
-| MFA | Ratio of the number of methods inherited by a class to the number of methods accessible by member methods of the class | 
-| MLOCsum | Returns the numbre of line of code in the methods of an entity. Same as LOC | 
-| MOA | Count the number of data declarations whose types are user defined classes | 
-| NAD | number of attributes declared | 
-| NADextended | Number of attributes declared in a class and in its member classes | 
-| NCM | Returns the NCM (Number of Changed Methods) of an entity. | 
-| NCP | the number of classes package containing entity | 
-| NMA | Returns the NMA (Number of New Methods) of an entity | 
-| NMD | number of methods declared | 
-| NMDextended | Number of methods declared in the class and in its member classes | 
-| NMI | Number of methods inherited by an entity | 
-| NMO | Number of methods overridden by an entity | 
-| NOA | Number of ancestors of an entity | 
-| NOC | Number of children of an entity | 
-| NOD | Number of descendents of an entity | 
-| NOF | Number of fields declared by an entity 
-| NOH | Number of class hierarchies in a model | 
-| NOM | Numer of all methods defined in an entity | 
-| NOP | Number of parents of an entity | 
-| NOParam | Number of parameters of the methods of an entity | 
-| NOPM | Count of the Methods that can exhibit polymorphic behavior | 
-| NOTC | Number of invocations of JUnit assert methods that occur in the code of a test case | 
-| NOTI | Number of transitive invocation among methods of a class. See the Law of Demeter for a definition | 
-| NPrM | Number protected members of an entity | 
-| oneWayCoupling | Coupling between objects of an entity (outgoing only). Same as CBOoutgoing | 
-| PIIR | The number of inheritance relationships existing between classes in the package containing entity | 
-| PP | The number of provider packages of the package containing entity | 
-| REIP | EIP divided by the sum of PIIR and EIP | 
-| RFP | the number of class references from classes belonging to other packages to classes belonging to the package containing entity | 
-| RPII | PIIR divided by the sum of PIIR and EIP. | 
-| RRFP | RFP divided by the sum of RFP and the number of internal class references | 
-| RRTP | RTP divided by the sum of RTP and the number of internal class references | 
-| RTP | The number of class references from classes in the package containing entity to classes in other packages | 
-| SIX | Returns the SIX (Specialisation IndeX) of an entity | 
-| WMC1 | Computes the weight of an entity considering the complexity of a method to be unity | 
-| McCabe | McCabe Complexity: Number of points of decision + 1 | 
-| CBO | Coupling Between Objects of one entity | 
-| LCOM5 | Returns the LCOM (Lack of COhesion in Methods) of an entity | 
-| WMC | Computes the weight of an entity by computing the number of method invocations in each method| 
- 
-===== Computing Metrics ===== 
- 
-Computing POM metrics using PADL is made easy by the helper class ''​pom.helper.MetricsGenerator''​. After having installed CPL, PADL, and POM, just go into the ''​POM Tests''​ project and have a look at this class. It provides a main method with snippets of code to call one of the three methods: 
-   * ''​computeMetricsFromDirectory''​ 
-   * ''​computeMetricsFromEclipse''​ 
-   * ''​computeMetricsFromJARs''​ 
-which can be used to compute automatically metrics from various input sources. Also have a look at the constant array listing the metrics that must be computed or avoided: ''​METRICS_TO_AVOID''​ and ''​METRICS_TO_COMPUTE''​. 
pom.txt ยท Last modified: 2017/09/06 01:54 (external edit)