Building an automated refactoring tool for a new programming language is an expensive and time-consuming process. Usually, only a small fraction of the tool's code is devoted to refactoring transformations; most of the code is devoted to supporting components. This dissertation shows that much of this support code can be placed in a language-independent library or code generator, significantly reducing the amount of code a tool developer must write to build a refactoring tool for a new language. Part I focuses on the syntactic components: the lexer/parser, abstract syntax tree (AST), and source code manipulation infrastructure. Compiler writers have been generating lexers and parsers from grammars for years. However, this dissertatio...
This paper describes a Refactoring Learning Environment, which is intended to analyze and assess pro...
In software development, maintaining good design is essential. The process of refactoring enables de...
Refactorings are structured changes to existing software that leave its externally observable behavi...
Building an automated refactoring tool for a new programming language is an expensive and time-consu...
Although there is much research advancing state-of-art of program transformation tools, their applic...
Refactoring is an important Software Engineering technique for improving the structure of a program...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
Refactoring is a core technology in modern software development. It is central to popular software d...
Refactoring, the process of changing the structure of code without changing its behavior, can be sem...
To facilitate experimentation with creating new, complex refactorings, we want to reuse existing tra...
Refactoring tools allow the programmer to pretend they are working with a richer language where the ...
We present a framework for making a refactoring tool extensible, allowing users to define refactorin...
We describe refactoring for Erlang programs, and work in progress to build two tools to give machine...
Even though modern Integrated Development Environments (IDEs) support many refactorings, studies sug...
International audienceSoftware evolves to be adapted to the environment, due to bugs, new features a...
This paper describes a Refactoring Learning Environment, which is intended to analyze and assess pro...
In software development, maintaining good design is essential. The process of refactoring enables de...
Refactorings are structured changes to existing software that leave its externally observable behavi...
Building an automated refactoring tool for a new programming language is an expensive and time-consu...
Although there is much research advancing state-of-art of program transformation tools, their applic...
Refactoring is an important Software Engineering technique for improving the structure of a program...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
Refactoring is a core technology in modern software development. It is central to popular software d...
Refactoring, the process of changing the structure of code without changing its behavior, can be sem...
To facilitate experimentation with creating new, complex refactorings, we want to reuse existing tra...
Refactoring tools allow the programmer to pretend they are working with a richer language where the ...
We present a framework for making a refactoring tool extensible, allowing users to define refactorin...
We describe refactoring for Erlang programs, and work in progress to build two tools to give machine...
Even though modern Integrated Development Environments (IDEs) support many refactorings, studies sug...
International audienceSoftware evolves to be adapted to the environment, due to bugs, new features a...
This paper describes a Refactoring Learning Environment, which is intended to analyze and assess pro...
In software development, maintaining good design is essential. The process of refactoring enables de...
Refactorings are structured changes to existing software that leave its externally observable behavi...