Contract-based verification for aspect-oriented refactoring

Naoyasu Ubayashi, Jinji Piao, Suguru Shinotsuka, Tetsuo Tamai

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Citations (Scopus)

Abstract

Refactoring is a method for improving a program's structure without changing its external behavior. Refactoring is a promising approach to assist reliable and safe software evolution. However, in aspect-oriented programming (AOP), it is not necessarily easy for a programmer to understand the overall behavior of a woven program because the weaving modifies the behavior. Unexpected bugs can be embedded in a program if the programmer does not modify the program carefully. In order to deal with this problem, we propose the notion of RbC (Refactoring by Contract), a technique to verify refactoring based on contracts. Contracts in RbC consist of preconditions, postconditions, and invariants. A precondition states under which conditions refactoring can be applied. A postcondition states what condition should be verified after refactoring has been accomplished, and an invariant states what conditions refactoring should preserve. After introducing RbC, we check whether refactoring preserves behavior and whether it actually improves internal structure. A contract is described in COW (COntract Writing language), a language for describing a predicate based on first-order logic. COW provides a set of primitive predicates that represent program structure and behavior. Adopting our approach, software evolution in AOP becomes reliable and safe.

Original languageEnglish
Title of host publicationProceedings of the 1st International Conference on Software Testing, Verification and Validation, ICST 2008
Pages180-189
Number of pages10
DOIs
Publication statusPublished - 2008
Externally publishedYes
Event1st International Conference on Software Testing, Verification and Validation, ICST 2008 - Lillehammer, Norway
Duration: Apr 9 2008Apr 11 2008

Publication series

NameProceedings of the 1st International Conference on Software Testing, Verification and Validation, ICST 2008

Other

Other1st International Conference on Software Testing, Verification and Validation, ICST 2008
Country/TerritoryNorway
CityLillehammer
Period4/9/084/11/08

All Science Journal Classification (ASJC) codes

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Software

Fingerprint

Dive into the research topics of 'Contract-based verification for aspect-oriented refactoring'. Together they form a unique fingerprint.

Cite this