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:
java limsim.LimSim
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]
LimSim prints evaluation information for each software clustering algorithm. This includes: