Specifications considered in symbolic control are often interpreted qualitatively and controllers are usually classified as correct if they enforce the specification or as incorrect if they do not. In practice, a given ideal specification might be impossible to meet. In that case, it is interesting for the system designer to be able to quantify the distance between achievable behaviors and the specification, and to synthesize the least-violating controller enforcing the closed-loop behavior that is the closest to a correct one. In this paper, we develop such an approach for three types of specifications: safety, uniform reachability and uniform attractivity. We define controllability measures associated to these properties. For finite transition systems, we present dynamic programming algorithms for the computation of these measures and of the associated least-violating controllers. We discuss how these results can be used to synthesize controllers for infinite transition systems via symbolic control techniques. To demonstrate the relevance of our approach, we show an application to adaptive cruise control.