Scan Science and Technology
Contact Leading Edge Experts & Companies
Automated Refactorings
The Experts below are selected from a list of 729 Experts worldwide ranked by ideXlab platform
Ralph E Johnson – One of the best experts on this subject based on the ideXlab platform.
-
Differential precondition checking: a language-independent, reusable analysis for refactoring engines
Automated Software Engineering, 2016Co-Authors: Jeffrey L. Overbey, Ralph E Johnson, Munawar HafizAbstract:One of the most difficult parts of building Automated Refactorings is ensuring that they preserve behavior. This paper proposes a new technique to check for behavior preservation; we call this technique differential precondition checking. It is simple yet expressive enough to implement the most common Refactorings, and the core algorithm runs in linear time. However, the main advantage is that a differential precondition checker can be placed in a library and reused in refactoring tools for many different languages; the core algorithm can be implemented in a way that is completely language independent. We have implemented a differential precondition checker and used it in refactoring tools for Fortran (Photran), PHP, and BC.
-
a comparative study of manual and Automated Refactorings
European Conference on Object-Oriented Programming, 2013Co-Authors: Stas Negara, Mohsen Vakilian, Ralph E Johnson, Nicholas Chen, Danny DigAbstract:Despite the enormous success that manual and Automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study Refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow answering research questions that involve time or compare manual and Automated refactoring.
We present the first extended empirical study that considers both manual and Automated refactoring. This study is enabled by our algorithm, which infers Refactorings from continuous changes. We implemented and applied this algorithm to the code evolution data collected from 23 developers working in their natural environment for 1,520 hours. Using a corpus of 5,371 Refactorings, we reveal several new facts about manual and Automated Refactorings. For example, more than half of the Refactorings were performed manually. The popularity of Automated and manual Refactorings differs. More than one third of the Refactorings performed by developers are clustered in time. On average, 30% of the performed Refactorings do not reach the Version Control System.
-
ECOOP – A comparative study of manual and Automated Refactorings
ECOOP 2013 – Object-Oriented Programming, 2013Co-Authors: Stas Negara, Mohsen Vakilian, Ralph E Johnson, Nicholas Chen, Danny DigAbstract:Despite the enormous success that manual and Automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study Refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow answering research questions that involve time or compare manual and Automated refactoring.
We present the first extended empirical study that considers both manual and Automated refactoring. This study is enabled by our algorithm, which infers Refactorings from continuous changes. We implemented and applied this algorithm to the code evolution data collected from 23 developers working in their natural environment for 1,520 hours. Using a corpus of 5,371 Refactorings, we reveal several new facts about manual and Automated Refactorings. For example, more than half of the Refactorings were performed manually. The popularity of Automated and manual Refactorings differs. More than one third of the Refactorings performed by developers are clustered in time. On average, 30% of the performed Refactorings do not reach the Version Control System.
Stas Negara – One of the best experts on this subject based on the ideXlab platform.
-
a comparative study of manual and Automated Refactorings
European Conference on Object-Oriented Programming, 2013Co-Authors: Stas Negara, Mohsen Vakilian, Ralph E Johnson, Nicholas Chen, Danny DigAbstract:Despite the enormous success that manual and Automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study Refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow answering research questions that involve time or compare manual and Automated refactoring.
We present the first extended empirical study that considers both manual and Automated refactoring. This study is enabled by our algorithm, which infers Refactorings from continuous changes. We implemented and applied this algorithm to the code evolution data collected from 23 developers working in their natural environment for 1,520 hours. Using a corpus of 5,371 Refactorings, we reveal several new facts about manual and Automated Refactorings. For example, more than half of the Refactorings were performed manually. The popularity of Automated and manual Refactorings differs. More than one third of the Refactorings performed by developers are clustered in time. On average, 30% of the performed Refactorings do not reach the Version Control System.
-
ECOOP – A comparative study of manual and Automated Refactorings
ECOOP 2013 – Object-Oriented Programming, 2013Co-Authors: Stas Negara, Mohsen Vakilian, Ralph E Johnson, Nicholas Chen, Danny DigAbstract:Despite the enormous success that manual and Automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study Refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow answering research questions that involve time or compare manual and Automated refactoring.
We present the first extended empirical study that considers both manual and Automated refactoring. This study is enabled by our algorithm, which infers Refactorings from continuous changes. We implemented and applied this algorithm to the code evolution data collected from 23 developers working in their natural environment for 1,520 hours. Using a corpus of 5,371 Refactorings, we reveal several new facts about manual and Automated Refactorings. For example, more than half of the Refactorings were performed manually. The popularity of Automated and manual Refactorings differs. More than one third of the Refactorings performed by developers are clustered in time. On average, 30% of the performed Refactorings do not reach the Version Control System.
-
ECOOP – A compositional paradigm of automating Refactorings
ECOOP 2013 – Object-Oriented Programming, 2013Co-Authors: Mohsen Vakilian, Nicholas Chen, Stas Negara, Roshanak Zilouchian Moghaddam, Ralph E JohnsonAbstract:Recent studies suggest that programmers greatly underuse refactoring tools, especially for complex Refactorings. Complex Refactorings tend to be tedious and error-prone to perform by hand. To promote the use of refactoring tools for complex changes, we propose a new paradigm for automating Refactorings called compositional refactoring. The key idea is to perform small, predictable changes using a tool and manually compose them into complex changes. This paradigm trades off some level of automation by higher predictability and control. We show that this paradigm is natural, because our analysis of programmers’ use of the Eclipse refactoring tool in the wild shows that they frequently batch and compose Automated Refactorings. We then show that programmers are receptive to this new paradigm through a survey of 100 respondents. Finally, we show that the compositional paradigm is effective through a controlled study of 13 professional programmers, comparing this paradigm to the existing wizard-based one.
Mohsen Vakilian – One of the best experts on this subject based on the ideXlab platform.
-
a comparative study of manual and Automated Refactorings
European Conference on Object-Oriented Programming, 2013Co-Authors: Stas Negara, Mohsen Vakilian, Ralph E Johnson, Nicholas Chen, Danny DigAbstract:Despite the enormous success that manual and Automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study Refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow answering research questions that involve time or compare manual and Automated refactoring.
We present the first extended empirical study that considers both manual and Automated refactoring. This study is enabled by our algorithm, which infers Refactorings from continuous changes. We implemented and applied this algorithm to the code evolution data collected from 23 developers working in their natural environment for 1,520 hours. Using a corpus of 5,371 Refactorings, we reveal several new facts about manual and Automated Refactorings. For example, more than half of the Refactorings were performed manually. The popularity of Automated and manual Refactorings differs. More than one third of the Refactorings performed by developers are clustered in time. On average, 30% of the performed Refactorings do not reach the Version Control System.
-
ECOOP – A comparative study of manual and Automated Refactorings
ECOOP 2013 – Object-Oriented Programming, 2013Co-Authors: Stas Negara, Mohsen Vakilian, Ralph E Johnson, Nicholas Chen, Danny DigAbstract:Despite the enormous success that manual and Automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study Refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not allow answering research questions that involve time or compare manual and Automated refactoring.
We present the first extended empirical study that considers both manual and Automated refactoring. This study is enabled by our algorithm, which infers Refactorings from continuous changes. We implemented and applied this algorithm to the code evolution data collected from 23 developers working in their natural environment for 1,520 hours. Using a corpus of 5,371 Refactorings, we reveal several new facts about manual and Automated Refactorings. For example, more than half of the Refactorings were performed manually. The popularity of Automated and manual Refactorings differs. More than one third of the Refactorings performed by developers are clustered in time. On average, 30% of the performed Refactorings do not reach the Version Control System.
-
ECOOP – A compositional paradigm of automating Refactorings
ECOOP 2013 – Object-Oriented Programming, 2013Co-Authors: Mohsen Vakilian, Nicholas Chen, Stas Negara, Roshanak Zilouchian Moghaddam, Ralph E JohnsonAbstract:Recent studies suggest that programmers greatly underuse refactoring tools, especially for complex Refactorings. Complex Refactorings tend to be tedious and error-prone to perform by hand. To promote the use of refactoring tools for complex changes, we propose a new paradigm for automating Refactorings called compositional refactoring. The key idea is to perform small, predictable changes using a tool and manually compose them into complex changes. This paradigm trades off some level of automation by higher predictability and control. We show that this paradigm is natural, because our analysis of programmers’ use of the Eclipse refactoring tool in the wild shows that they frequently batch and compose Automated Refactorings. We then show that programmers are receptive to this new paradigm through a survey of 100 respondents. Finally, we show that the compositional paradigm is effective through a controlled study of 13 professional programmers, comparing this paradigm to the existing wizard-based one.