This paper analyses Rosca's ARL as a general framework for automatic subroutine discovery. We review and compare a number of heuristics for code selection, and experimentally test their e ectiveness in the ARL framework. We also propose and analyse a new heuristic, the Saliency, and two extensions to ARL: di usion of the new subroutines through mutation and the MaxFit technique to adaptively change the length of an epoch. In spite of the e ectiveness of the proposed extensions, the main result is that any attempt to improve the selection criterion seems not able to produce better results than a simple near-random heuristic.