Jesus, ECJ has guaranteed duplicability. If you load from the same parameters, you'll get the same results. So it's not unexpected that the same parameter file will give you the same results. Ordinarily you run ECJ ten times on the command line, something like this in tcsh (we'll use the numbers 1 through 10 as our seeds): foreach i (1 2 3 4 5 6 7 8 9 10) java ec.Evolve \ -file ec/app/regression/erc.params \ -p seed.0=$i \ -p stat.file=stat.${i}.out end If you've chosen to try to get ECJ to run ten times inside a single Java process, you'll still need to change the random number generator seed. If you're doing this via make(), you should be able to do something like this: make(new String[] {"-file", "ec/app/regression/erc.params", "-p", "seed.0="+seed, "-p", "stat.file=stat."+seed+"out"}); ...etc. Alternatively if you're setting everything up in your own version of make(), you just after you load the parameter file into the parameter database, physically set the seed.0 parameter, something along these lines: parameters.set("seed.0", ""+seed); Programmatically-set parameters override all others in the database. Sean