Title :
Refactoring Formal Specifications in Object-Z
Author :
Liu, Hui ; Zhu, Bin
Author_Institution :
Sch. of Comput. Sci. & Technol., Beijing Inst. of Technol., Beijing
Abstract :
Software refactoring is to restructure artifacts to improve software quality, especially readability, extensibility, and maintainability, while preserving its external behaviors. Software refactoring has been successfully applied to source code and design models. However, refactoring has not yet been introduced to formal specifications. Compared to source code in programming languages similar to nature languages, formal specifications in formal mathematic languages are in urgent need of refactoring because mathematic languages are usually more difficult to understand or modify. Furthermore, formal specifications´ inherent formality makes it easier to validate behavior preservation of refactorings, which dramatically increases the dependability of refactorings. This paper illustrates the necessity and possibility of refactoring formal specifications. It first illustrates the necessity with an motivating example, and then proposes a series of primitive refactorings and advanced refactorings that are composed of primitive refactorings.
Keywords :
formal specification; object-oriented languages; object-oriented programming; program verification; software maintenance; software quality; specification languages; formal specification language; object-Z language; program validation; software design model; software quality; software refactoring; source code; Automation; Calculus; Computer languages; Computer science; Formal specifications; Mathematics; Mission critical systems; Software engineering; Software maintenance; Software quality; Formal Specifications; Object-Z; Software Refactoring; Z;
Conference_Titel :
Computer Science and Software Engineering, 2008 International Conference on
Conference_Location :
Wuhan, Hubei
Print_ISBN :
978-0-7695-3336-0
DOI :
10.1109/CSSE.2008.260