Withdraw
Loading…
Formal Specification and Verification of Java Refactorings
Garrido, Alejandra; Meseguer, José
Loading…
Permalink
https://hdl.handle.net/2142/11206
Description
- Title
- Formal Specification and Verification of Java Refactorings
- Author(s)
- Garrido, Alejandra
- Meseguer, José
- Issue Date
- 2006-05
- Keyword(s)
- refactorings
- programming languages
- Abstract
- There is an extensive literature about refactorings of object-oriented programs, and many refactoring tools for the Java programming language. However, except for a few studies, in practice it is difficult to find precise formal specifications of the preconditions and mechanisms of automated refactorings. Moreover, there is usually no formal proof that a refactoring is correct, i.e., that it preserves the behavior of the program. We present an equational semantics based approach to Java refactoring. Specifically, we use an executable Java formal semantics in the Maude language to: (i) formally specify a number of useful Java refactorings; and (ii) give detailed proofs of correctness for two of those refactorings, showing that they are behavior-preserving transformations. Besides the obvious benefits of providing rigorous specifications for refactoring tool builders and rigorous correctness guarantees, our approach has the additional advantage of its executability: our formal refactoring specifications can be used directly to refactor Java programs and yield a provably correct Java refactoring tool. Another important advantage of our approach is its extensibility by new user-defined refactorings that, when defined in terms of a basic library of verified refactorings, can be guaranteed to be correct by construction.
- Type of Resource
- text
- Permalink
- http://hdl.handle.net/2142/11206
- Copyright and License Information
- You are granted permission for the non-commercial reproduction, distribution, display, and performance of this technical report in any format, BUT this permission is only for a period of 45 (forty-five) days from the most recent time that you verified that this technical report is still available from the University of Illinois at Urbana-Champaign Computer Science Department under terms that include this permission. All other rights are reserved by the author(s).
Owning Collections
Manage Files
Loading…
Edit Collection Membership
Loading…
Edit Metadata
Loading…
Edit Properties
Loading…
Embargoes
Loading…