Abstract. Genetic algorithms generally use a fixed problem representation that maps variables of the search space to variables of the problem, and operators of variation that are fixed over time. This limits their scalability on non-separable problems. To address this issue, methods have been proposed that coevolve explicitly represented modules. An open question is how modules in such coevolutionary setups should be evaluated. Recently, Pareto-coevolution has provided a theoretical basis for evaluation in coevolution. We define a notion of functional modularity, and objectives for module evaluation based on Pareto-Coevolution. It is shown that optimization of these objectives maximizes functional modularity. The resulting evaluation method is developed into an algorithm for variable length, open ended development of representations called DevRep. DevRep successfully identifies large partial solutions and greatly outperforms fixed length and variable length genetic algorithms on several test problems, including the 1024-bit Hierarchical-XOR problem.