Annotation refactoring: inferring upgrade transformations for legacy applications

W Tansey, E Tilevich - Proceedings of the 23rd ACM SIGPLAN …, 2008 - dl.acm.org
Since annotations were added to the Java language, many frameworks have moved to
using annotated Plain Old Java Objects (POJOs) in their newest releases. Legacy …

Finding needles in a haystack: Leveraging co-change dependencies to recommend refactorings

MC de Oliveira, D Freitas, R Bonifácio, G Pinto… - Journal of Systems and …, 2019 - Elsevier
A fine-grained co-change dependency arises when two fine-grained source-code entities,
eg, a method, change frequently together. This kind of dependency is relevant when …

Finding refactorings via change metrics

S Demeyer, S Ducasse, O Nierstrasz - ACM SIGPLAN Notices, 2000 - dl.acm.org
Reverse engineering is the process of uncovering the design and the design rationale from
a functioning software system. Reverse engineering is an integral part of any successful …

Automated behavioral testing of refactoring engines

GS Soares - Proceedings of the 3rd annual conference on Systems …, 2012 - dl.acm.org
Refactoring is a transformation that preserves the external behavior of a program and
improves its internal quality. Usually, compilation errors and behavioral changes are …

Automated testing of refactoring engines

B Daniel, D Dig, K Garcia, D Marinov - Proceedings of the the 6th joint …, 2007 - dl.acm.org
Refactorings are behavior-preserving program transformations that improve the design of a
program. Refactoring engines are tools that automate the application of refactorings: first the …

Jiad: a tool to infer design patterns in refactoring

J Rajesh, D Janakiram - Proceedings of the 6th ACM SIGPLAN …, 2004 - dl.acm.org
Refactoring in object-orientation has gained increased attention due to its ability to improve
design quality. Refactoring using design patterns (DPs) leads to production of high quality …

Refactoring java software product lines

J Kim, D Batory, D Dig - Proceedings of the 21st International Systems …, 2017 - dl.acm.org
Refactoring is a staple of Object-Oriented (OO) program development. It should be a staple
of OO Software Product Line (SPL) development too. X15 is the first tool to support the …

Sound and extensible renaming for Java

M Schäfer, T Ekman, O De Moor - … of the 23rd ACM SIGPLAN conference …, 2008 - dl.acm.org
Descriptive names are crucial to understand code. However, good names are notoriously
hard to choose and manually changing a globally visible name can be a maintenance …

Common refactorings, a dependency graph and some code smells: an empirical study of Java OSS

S Counsell, Y Hassoun, G Loizou, R Najjar - Proceedings of the 2006 …, 2006 - dl.acm.org
Refactoring, as a software engineering discipline has emerged over recent years to become
an important aspect of maintaining software. Refactoring refers to the restructuring of …

[PDF][PDF] Trends in Java code changes: the key to identification of refactorings?

S Counsell, Y Hassoun, R Johnson, K Mannock… - Proceedings of the 2nd …, 2003 - Citeseer
Changes made to object-oriented (OO) systems over time provide an insight into both
design robustness and changes in requirements. When expressed at a high level of …