Methods for selecting and improving software clustering algorithms. (31st July 2012)