La fonctionnalité de recherche est en construction.
La fonctionnalité de recherche est en construction.

The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. ex. Some numerals are expressed as "XNUMX".
Copyrights notice

The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. Copyrights notice

Refactoring Opportunity Identification Methodology for Removing Long Method Smells and Improving Code Analyzability Méthodologie d'identification des opportunités de refactorisation pour supprimer les odeurs de méthodes longues et améliorer l'analysabilité du code

Panita MEANANEATRA, Songsakdi RONGVIRIYAPANISH, Taweesup APIWATTANAPONG

  • Vues en texte intégral

    0

  • Citer

Résumé:

Une étape importante pour améliorer l’analysabilité du logiciel consiste à appliquer des refactorisations pendant la phase de maintenance pour éliminer les mauvaises odeurs, en particulier la mauvaise odeur de la méthode longue. Les mauvaises odeurs de méthode longue sont les plus fréquentes et sont à l’origine d’autres mauvaises odeurs. Cependant, aucune recherche n'a proposé une approche permettant de répéter l'identification, la suggestion et l'application du refactoring jusqu'à ce que toutes les mauvaises odeurs de la méthode longue aient été complètement supprimées sans réduire l'analysabilité du logiciel. Cet article propose une approche efficace pour identifier les opportunités de refactoring et suggère un ensemble de refactoring efficace pour supprimer complètement les mauvaises odeurs des méthodes longues sans réduire l'analysabilité du code. Cette approche, appelée Long Method Remover ou LMR, utilise des conditions permettant le refactoring basées sur l'analyse du programme et les métriques du code pour identifier quatre techniques de refactoring et utilise une technique intégrée dans JDeodorant pour identifier la méthode d'extraction. Pour une suggestion d'ensemble de refactorisation efficace, LMR utilise deux critères : le niveau d'analysabilité du code et le nombre d'instructions impactées par les refactorisations. LMR utilise également l’analyse des effets secondaires pour garantir la préservation du comportement. Pour évaluer LMR, nous l'appliquons au package principal d'une application Java réelle. Nos critères d'évaluation sont 1) la préservation de la fonctionnalité du code, 2) le taux de suppression des caractéristiques des méthodes longues et 3) l'amélioration de l'analysabilité. Le résultat a montré que les méthodes qui appliquent les ensembles de refactoring suggérés peuvent supprimer complètement les mauvaises odeurs des méthodes longues, tout en préservant le comportement et n'ont pas diminué l'analysabilité. Il est conclu que le LMR répond aux objectifs dans presque toutes les classes. Nous avons également discuté des problèmes que nous avons découverts lors de l'évaluation en tant que leçons apprises.

Publication
IEICE TRANSACTIONS on Information Vol.E101-D No.7 pp.1766-1779
Date de publication
2018/07/01
Publicisé
2018/04/26
ISSN en ligne
1745-1361
DOI
10.1587/transinf.2017KBP0026
Type de manuscrit
Special Section PAPER (Special Section on Knowledge-Based Software Engineering)
Catégories

Auteurs

Panita MEANANEATRA
  Thammasat University
Songsakdi RONGVIRIYAPANISH
  Thammasat University
Taweesup APIWATTANAPONG
  National Science and Technology Development Agency

Mots-clés

Table des matières