DocumentCode
1953008
Title
Refactoring Formal Specifications in Object-Z
Author
Liu, Hui ; Zhu, Bin
Author_Institution
Sch. of Comput. Sci. & Technol., Beijing Inst. of Technol., Beijing
Volume
2
fYear
2008
fDate
12-14 Dec. 2008
Firstpage
342
Lastpage
345
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Science and Software Engineering, 2008 International Conference on
Conference_Location
Wuhan, Hubei
Print_ISBN
978-0-7695-3336-0
Type
conf
DOI
10.1109/CSSE.2008.260
Filename
4722066
Link To Document