This is the help for Xomo-sa. XOMO [1] is the initial tool which inspired this one. These two tools both aim at minimizing Effort, Defects, and Threat based on the COCOMO II [2], Coqualmo, and Threat Models [3] for given project parameters that are based on these models. The names are similar; however, the two tools take two differet approaches for tackling the same problem. While XOMO uses Tar3 treatment learning [4], Xomo-sa uses simulated annealing [5], combined with best or rest discretization and a linear back select algorithm to show the best treatments that can be chosen (i.e. the ones discarded last in the back select process). The temperature of the SA algorithm is set to exp(-100*k/kmax), where kmax is the maximum number if iterations allowed (set to 100000) and k is the number of iterations so far. The following are options allowed with this version of Xomo-sa: Option Description ------ ----------- -n or -N Bore for worst: This allows the user to get the worst treatments instead of the best. -l or -L To enable logging and post processing: Logging as in keeping a log of the results of the simulated annealer, and post processing being the back select and simulations. -f or -F Used in the form of "-f [project name] [file path]", this indicates the project being analyzed and the location of the project files. This option must be included for Xomo-sa to work. Also, both the *.values and *.ranges for the project files must be in the same folder specified by [file path]. -b or -B Used in the form of "-b [value]". Indicates the ratio that bore will use for discretization. There are several files included with Xomo-sa. The following is a brief description of each: File Name Description --------- ----------- csv2data* 2 files that produce the *.data files needed to run tar3. This data is the data from the simulated annealer. (Note: you need to make tar3 to be able to run these files). *.cfg & *.names These file are used for tar3, and they are the configuration and attribute/class names files respectively. graph This is a bash script that uses generated simulation data to produce plots in *.png format. /eg This folder contains sample bash scripts of running Xomo-sa. /xomo-sa_projects This folder contains project files. Note that for a single project, the ranges and values files are in the form "[Project Name].ranges" and "[Project Name].values". Inorder to get started simply make. All the needed files will be in $HOME/tmp/xomo-sa/, including the executable. The following is an example: ./xomo-sa -l -f KC1 ./xomo-sa_projects/ The graph script can be executed as follows: bash graph After running this script, *.png files containing the graphs will be dumped. Note: gnuplot is needed for this. References: ----------- [1] T. Menzies. RST milestone 1.1.5.9: Applying trade space analysis to recommend CEV/CLV options for SW capabilities and development of processes and toolshttp://menzies.us/pdf/06xomo202.pdf [2] B. Boehm, E. Horowitz, R. Madachy, D. Reifer, B. K. Clark, B. Steece, A. W. Brown, S. Chulani, and C. Abts. Software Cost Estimation with Cocomo II. Prentice Hall, 2000 [3] R. Madachy. Heuristic risk assessment using cost factors. IEEE Software, 14(3):51–59, May 1997 [4] T. Menzies and Y. Hu. Data mining for very busy people. In IEEE Computer, November 2003. Available from http://menzies.us/pdf/03tar2.pdf [5] S. Kirkpatrick and C. D. Gelatt and M. P. Vecchi, Optimization by Simulated Annealing, Science, Vol 220, Number 4598, pages 671-680, 1983.