skip to main content
10.5555/3340633acmconferencesBook PagePublication PagesaseConference Proceedingsconference-collections
IWOR '19: Proceedings of the 3rd International Workshop on Refactoring
2019 Proceeding
Publisher:
  • IEEE Press
Conference:
ICSE '19: 41st International Conference on Software Engineering Montreal Quebec Canada 28 May 2019
Published:
28 May 2019
Sponsors:
SIGSOFT, IEEE-CS
Next Conference
October 27 - November 1, 2024
Sacramento , CA , USA
Bibliometrics
Skip Abstract Section
Abstract

IWOR 2019 is the third in a series of workshops devoted to the topic of (software) refactoring. Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. It is a normal practice when evolving software systems and is documented as such in the software engineering body of knowledge (SWEBOK).

Skip Table Of Content Section
SESSION: Composite refactorings
research-article
ToLambda: automatic path to serverless architectures

Serverless architectures are becoming computing standard and best practice. It is inevitable that more and more software systems will embrace the trend. Our tool toLambda provides automatic conversion of Java monolith application code into AWS Lambda ...

research-article
On the alternatives for composing batch refactoring

Code refactoring is often performed for improving code structures through code transformations. Many transformations, e.g., extracting or moving a method, are applied for at least partially removing code smells. Each code smell is a symptom of a poor ...

research-article
On the customization of batch refactoring

Refactorings are program transformations to improve code structure quality. Developers often apply these transformations in a batch, i.e., transformations in a sequence on a certain program location in order to achieve a specific goal. Either individual ...

SESSION: Primitive refactorings
research-article
Code transformation issues in move-instance-method refactorings

Refactorings, by definition, preserve the behavior of a target program. Such a strong semantic property is encoded by a set of preconditions for each refactoring. Only if all preconditions are satisfied will a target program be transformed. The code ...

research-article
Evaluation of move method refactorings recommendation algorithms: are we doing it right?

Previous studies introduced various techniques for detecting Move Method refactoring opportunities. However, different authors have different evaluations, which leads to the fact that results reported by different papers do not correlate with each other ...

research-article
Rotor: a tool for renaming values in OCaml's module system

The functional programming paradigm presents its own unique challenges to refactoring. For the OCaml language in particular, the expressiveness of its module system makes this a highly non-trivial task and there is currently no automated support for ...

SESSION: Recommending refactorings
research-article
Maximizing refactoring coverage in an automated maintenance approach using multi-objective optimization

This paper describes a multi-objective genetic algorithm used to automate software refactoring. The approach is validated using a set of open source Java programs with a purpose built tool, MultiRefactor. The tool uses a metric function to measure ...

research-article
Toward proactive refactoring: an exploratory study on decaying modules

Source code quality is often measured using code smell, which is an indicator of design flaw or problem in the source code. Code smells can be detected using tools such as static analyzer that detects code smells based on source code metrics. Further, ...

research-article
GodExpo: an automated god structure detection tool for Golang

God Class is a class that threatens maintainability and understandability of code by performing most of the work alone. Various tools exist that can detect God Class of Java or C++ programs, however, there is no existing tool for detecting God Class(...

SESSION: Refactoring opportunities
research-article
Can refactoring be self-affirmed?: an exploratory study on how developers document their refactoring activities in commit messages

Refactoring is a critical task in software maintenance and is usually performed to enforce best design practices, or to cope with design defects. Previous studies heavily rely on defining a set of keywords to identify refactoring commits from a list of ...

research-article
Are monitoring crosscutting concerns really refactorable into aspects?: an empirical study

Monitoring concerns' implementation crosscuts a software's system core concerns' implementation, leading to difficult to maintain and understand source code. Other paradigms have been proposed for crosscutting concerns implementation that should improve ...

research-article
Refactoring-aware code review: a systematic mapping study

Modern Code Review (MCR) demands enhancements in the way change logs are presented to reviewers. Their task benefits from higher-level descriptions about the intention behind commits; for instance, evolution tasks, such as refactorings, could be more ...

research-article
Proactive clone recommendation system for extract method refactoring

"Extract Method" refactoring is commonly used for merging code clones into a single new method. In this position paper, we propose a proactive clone recommendation system for "Extract Method" refactoring. The proposed system that has been implemented as ...

Contributors
  • Concordia University
  • Drexel University
  • University of Antwerp
  1. Proceedings of the 3rd International Workshop on Refactoring

    Recommendations