Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3364641.3364680acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbqsConference Proceedingsconference-collections
abstract

A Quality-oriented Approach to Recommend Move Method Refactorings

Published: 28 October 2019 Publication History

Abstract

Refactoring processes are common in large software systems, especially when developers neglect architectural erosion process for long periods. Even though there are many refactoring approaches, very few consider the refactoring impact on the software quality.
Given this scenario, we propose a refactoring approach to software systems oriented to software quality metrics. Based on the QMOOD (Quality Model for Object Oriented Design), the main idea is to move methods between classes in order to maximize the values of the quality metrics. Using a formal notation, we describe the problem as follows. Given a software system S, our approach recommends a sequence of refactorings R1, R2,..., Rn that result in system versions S1, S2,..., Sn, where quality(Si+1) > quality(Si).
We performed three types of evaluation to verify the usefulness of our implemented tool, called QMove. First, we applied our approach on 13 open-source systems that we modified by randomly moving a subset of its methods to other classes, then checking if our approach would recommend the moved methods to return to their original place, and we achieve 84% recall, on average. Second, we compared QMove against two state-of-art refactoring tools (JMove and JDeodorant) on the 13 previously evaluated systems, and QMove showed better recall value (84%) than the other two (30% and 29%, respectively). Third, we conducted the same comparison among QMove, JMove, and JDeodorant applied in two proprietary systems where experts evaluated the quality of the recommendations. QMove obtained eight positively evaluated recommendations from the experts, against two and none of JMove and JDeodorant, respectively.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBQS '19: Proceedings of the XVIII Brazilian Symposium on Software Quality
October 2019
330 pages
ISBN:9781450372824
DOI:10.1145/3364641
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

In-Cooperation

  • SBC: Brazilian Computer Society

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 October 2019

Check for updates

Author Tags

  1. quality metrics
  2. refactoring
  3. software architecture

Qualifiers

  • Abstract
  • Research
  • Refereed limited

Funding Sources

  • Conselho Nacional de Desenvolvimento Científico e Tecnológico
  • Fundação de Amparo à Pesquisa do Estado de Minas Gerais

Conference

SBQS'19
SBQS'19: XVIII Brazilian Symposium on Software Quality
October 28 - November 1, 2019
Fortaleza, Brazil

Acceptance Rates

SBQS '19 Paper Acceptance Rate 35 of 99 submissions, 35%;
Overall Acceptance Rate 35 of 99 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 48
    Total Downloads
  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media