Object constraint language (OCL) is the object management group standard language for the precise specification of constraints associated with MetaObject facility specification-compliant models and metamodels. Although OCL has been created with the intention of being a simpler language when compared with traditional formal specification languages, it is common to find specifications containing OCL constraints that are difficult to understand and evolve. A set of potential problematic constructions often found in specifications written in OCL and a set of refactorings that can be applied to remove them are presented. We present an experimental study that has been performed to evaluate the effects of applying those strategies on the understandability of OCL specifications. The approach to provide automated support for OCL refactorings is also discussed.