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 be...
Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in ...
Just as OO refactorings are a staple of OO program development and evolution, so too should metamode...
The refinement calculus provides a methodology for transforming an abstract specification into a con...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
Refactoring is a software development strategy that characteristically alters the syntactic structur...
AbstractIn this paper we present how refactoring of object-oriented programs can be accomplished by ...
AbstractIn this paper we show how rewriting systems, in particular CafeOBJ, can be used to automatic...
Abstract—Refactoring source code requires preserving a cer-tain level of semantic behaviors, which a...
AbstractThis paper proposes modeling laws for Alloy, a formal object-oriented modeling language. The...
AbstractRefactorings are changes made to programs, models or specifications with the intention of im...
Abstract. This paper advocates need for a formal foundation for refactoring object-oriented software...
Refactorings are structured changes to existing software that leave its externally observable behavi...
The main components of a formal technique for specifying, refining and proving properties of object-...
Software are increasingly complex and are unavoidably subject toprogramming errors (a.k.a. bugs). Th...
This paper presents a methodology for automatically validating program transformation rules that are...
Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in ...
Just as OO refactorings are a staple of OO program development and evolution, so too should metamode...
The refinement calculus provides a methodology for transforming an abstract specification into a con...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
Refactoring is a software development strategy that characteristically alters the syntactic structur...
AbstractIn this paper we present how refactoring of object-oriented programs can be accomplished by ...
AbstractIn this paper we show how rewriting systems, in particular CafeOBJ, can be used to automatic...
Abstract—Refactoring source code requires preserving a cer-tain level of semantic behaviors, which a...
AbstractThis paper proposes modeling laws for Alloy, a formal object-oriented modeling language. The...
AbstractRefactorings are changes made to programs, models or specifications with the intention of im...
Abstract. This paper advocates need for a formal foundation for refactoring object-oriented software...
Refactorings are structured changes to existing software that leave its externally observable behavi...
The main components of a formal technique for specifying, refining and proving properties of object-...
Software are increasingly complex and are unavoidably subject toprogramming errors (a.k.a. bugs). Th...
This paper presents a methodology for automatically validating program transformation rules that are...
Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in ...
Just as OO refactorings are a staple of OO program development and evolution, so too should metamode...
The refinement calculus provides a methodology for transforming an abstract specification into a con...