The merit of automatic graph layout algorithms is typically judged by their computational efficiency and the extent to which they conform to aesthetic criteria (for example, minimising the number of crossings, maximising orthogonality). Experiments investigating the worth of such algorithms from the point of view of human usability can take different forms,… (More)
This paper proposes a conceptual framework for the reliability assessment of software components that incorporates test case execution and output evaluation. Determining an operational profile and test output evaluation are two difficult and important problems that must be addressed in such a framework. Determining an operational profile is difficult,… (More)
This paper provides a precise and descriptive semantics for core modeling concepts in Object-Z and a formal description for UML class constructs. Given the formal descriptions, it also provides a formal semantic mapping between the modeling constructs of the two languages.
Post-deployment maintenance and evolution can account for up to 75% of the cost of developing a software system. Software refactoring can reduce the costs associated with evolution by improving system quality. Although refactoring can yield benefits, the process includes potentially complex, error-prone, tedious and time-consuming tasks. It is these tasks… (More)
– When an introductory course on software design and testing was revised, it was decided to use open source software tools as the major examples and objects of study. The goal was to expose students to realistic software systems and give them experience dealing with large quantities of code written by other people. Using open source software also has the… (More)