Refactoring is a method for improving the structure of programs/ specifications as to enhance readability, modularity and reusability. Refactorings are required to be behaviour-preserving in that - to an external observer - no difference between the program before and after refactoring is visible. In this paper, we develop refactorings for an object-oriented specification formalism combining a state-based language (Object-Z) with a process algebra (CSP). In contrast to OO-programming languages, refactorings moving methods or attributes up and down the class hierarchy, in addition, need to change CSP processes. We formally prove behaviour preservation with respect to the failuresdivergences model of CSP. © IFIP International Federation for Information Processing 2007.
CITATION STYLE
Ruhroth, T., & Wehrheim, H. (2007). Refactoring object-oriented specifications with data and processes. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4468 LNCS, pp. 236–251). Springer Verlag. https://doi.org/10.1007/978-3-540-72952-5_15
Mendeley helps you to discover research relevant for your work.