Refactoring formal specifications in object-Z

  • Liu Hui*
  • , Zhu Bin
  • *Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.

Original languageEnglish
Title of host publicationProceedings - International Conference on Computer Science and Software Engineering, CSSE 2008
Pages342-345
Number of pages4
DOIs
Publication statusPublished - 2008
EventInternational Conference on Computer Science and Software Engineering, CSSE 2008 - Wuhan, Hubei, China
Duration: 12 Dec 200814 Dec 2008

Publication series

NameProceedings - International Conference on Computer Science and Software Engineering, CSSE 2008
Volume2

Conference

ConferenceInternational Conference on Computer Science and Software Engineering, CSSE 2008
Country/TerritoryChina
CityWuhan, Hubei
Period12/12/0814/12/08

Keywords

  • Formal specifications
  • Object-Z
  • Software refactoring
  • Z

Fingerprint

Dive into the research topics of 'Refactoring formal specifications in object-Z'. Together they form a unique fingerprint.

Cite this