User Tools

Site Tools


refsim

LimSim

Overview

LimSim allows the evaluation of software clustering algorithms on a 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 are an MDG, an authoritative decomposition and an evaluation measure. 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 the quality of the software clustering algorithm on the generated MDGs by using a measure, such as MoJoFM.

The current LimSim implementation includes the following 5 modifications:

  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 Instructions

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 supported measures are MoJoFM (jret.evaluation.decomposition.MoJoFMCalculator) and KE(jret.evaluation.decomposition.KoschkeEvaluator)
  • -loadConfig name of configuration file. The configuration file contains JRET parameters such number of 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 includes:

  • - Average evaluation value
  • - Standard deviation of evaluation values
  • - The worst evaluation result
  • - The best evaluation result
refsim.txt · Last modified: 2010/05/06 13:53 by bil