User Tools

Site Tools


refsim

This is an old revision of the document!


LimSim

Overview

The LimSim allows to evaluate software clustering algorithms on large number of simulated factbases. It creates a large number of simulated software systems with available authoritative decompositions and then evaluates software clustering algorithms on those systems using an existing evaluation distance.

The input parameters for LimSim method are MDG, an authoritative decomposition and evaluation distance. The algorithm applies a series of small modifications to the MDG with corresponding modifications for the authoritative decomposition. Each modification is designed in such a way as to ensure that the resulting decomposition is indeed authoritative for the resulting MDG.

After a large number of randomly selected modifications has been applied, we will have an MDG that is significantly different than the original one for which an authoritative decomposition exists. By repeating this randomized process many times, we can obtain a large population of simulated software systems with available authoritative decompositions.

Finally, LimSim calculates quality of a software clustering algorithm on those generated MDGs.

LimSim implementation includes 5 such modifications presented below.

  1. Merge two modules
  2. Split a module
  3. Copy a module
  4. Add an edge
  5. Remove cycle

Installation Instruction

  1. Configure jret library
  2. Download limsim.jar file
  3. Ensure that the mojo package is in your CLASSPATH.
  4. Run application using the following command
     java limsim.LimSim  

Operation Instruction

The LimSim application has the following command line parameters:

java limsim.LimSim -auth <decomposition> -mdg <MDG> -eval <evaluation distance> algorithm algorithm algorithm [-loadConfig file] [-saveConfig File] [-saveConfigXsd configSchema] [-log logConfigFile] [-iter number]

Input parameters

  • -auth an authoritative decomposition stored in rsf format
  • -mdg a module dependency graph stored in rsf format
  • -eval class name which implements an evaluation distance. Currently, it is implemented MoJoFM (jret.evaluation.decomposition.MoJoFMCalculator) and KE(jret.evaluation.decomposition.KoschkeEvaluator)
  • -loadConfig name of configuration file. The configuration file contains JRET parameters such number entities, list of modification operations etc.
  • -saveConfig saves JRET configuration parameters.
  • -saveConfigXsd saves schema of configuration parameters
  • -iter number of iteration for modification factbase
  • -log configuration parameters for JRET logger list of software clustering algorithms

Output

LimSim prints evaluation information for each software clustering algorithm. This is included:

  • - Average evaluation value
  • - Standard deviation of evaluation values
  • - The worst evaluation result
  • - The best evaluation result
refsim.1269203353.txt.gz · Last modified: 2010/03/21 20:29 by mark