Formally Assessing Software Modifiability
An analytic framework termed cognitive dimensions is developed to provide formal definitions of dimensions for assessing the suitability of interactive systems for particular tasks. Cognitive dimensions is a psychological framework that provides broadbrush characterisations of interactive behaviours that are of particular relevance to ease of use. The framework also provides an effective terminology to support a wide range of assessments including interface evaluation, and assessing the
... sessing the resistance of languages to program modification. We propose that software design can benefit from interpreting cognitive dimensions as tools for assessing software characteristics such as usability and modifiability. Our interpretation of these dimensions has the benefits of being formal and at the same time yielding practical measures and guidelines for assessment. In particular such a formalisation emphasises the degree to which cognitive dimensions can serve as constructive expressions of non-functional requirements in general. This work builds upon a growing body of work concerned with formally characterising interactive properties that are significant to successful use. In particular it examines the dimensions associated with the notion of viscosity -resistance to local change and demonstrates their relevance in the context of program modification.