
La refactorización se ha convertido en un enfoque predominante para aumentar la calidad del producto de software. Sin embargo, la evidencia empírica sugiere que no todas las dimensiones de la calidad del software experimentan mejoras interminables a través de la refactorización. Las exploraciones académicas actuales revelan variaciones significativas en los impactos de diversos métodos de refactorización, con posibles efectos adversos y contradicciones que surgen con respecto a la calidad del software. En consecuencia, tales disparidades hacen que las ventajas de la refactorización sean polémicas, lo que culmina en desafíos para los desarrolladores de software en la selección de métodos óptimos de refactorización para mejorar la calidad del software. La literatura existente carece de una exploración en profundidad de las razones detrás de los impactos contrastantes de los métodos de refactorización en la mejora de la calidad o el desarrollo de protocolos refinados para emplear estas técnicas. Por lo tanto, esta investigación tiene como objetivo explorar, identificar y ajustar los mecanismos de utilización de los métodos de refactorización, lo que permite a los desarrolladores de software tomar decisiones informadas para mejorar los atributos de calidad de los sistemas orientados a objetos. Se seleccionaron diez métodos de refactorización comúnmente empleados para esta investigación, cada uno ejecutado de forma independiente en cinco estudios de casos que varían en escala (pequeño, mediano y grande). El Modelo de Calidad para el Diseño Orientado a Objetos (QMOOD) se empleó como herramienta de evaluación para determinar la influencia de las técnicas de refactorización en los atributos de calidad. Los resultados de la investigación indican que los múltiples impactos de los métodos de refactorización en los atributos de calidad se atribuyen a distintos mecanismos de uso de las técnicas. Estas ideas ayudan a los profesionales del software a discernir la utilización óptima de los métodos de refactorización para mejorar la calidad del software, teniendo en cuenta sus mecanismos. Además, estos resultados proporcionan a los expertos de la industria pautas prescriptivas para emplear métodos de refactorización para elevar la calidad de los sistemas orientados a objetos, basados en el mecanismo adecuado.
Le refactoring est apparu comme une approche prédominante pour augmenter la qualité des produits logiciels. Cependant, les données empiriques suggèrent que toutes les dimensions de la qualité des logiciels ne font pas l'objet d'améliorations sans fin grâce au refactoring. Les explorations scientifiques actuelles révèlent des variations significatives dans les impacts de diverses méthodes de refactoring, avec des effets négatifs potentiels et des contradictions concernant la qualité des logiciels. Par conséquent, de telles disparités rendent les avantages du refactoring controversés, aboutissant à des défis pour les développeurs de logiciels dans la sélection de méthodes de refactoring optimales pour améliorer la qualité des logiciels. La littérature existante manque d'une exploration approfondie des raisons derrière les impacts contrastés des méthodes de refactorisation sur l'amélioration de la qualité ou le développement de protocoles raffinés pour l'utilisation de ces techniques. Par conséquent, cette recherche vise à explorer, identifier et affiner les mécanismes d'utilisation des méthodes de refactorisation, permettant aux développeurs de logiciels de faire des choix éclairés pour l'amélioration des attributs de qualité des systèmes orientés objet. Dix méthodes de refactoring couramment utilisées ont été choisies pour cette enquête, chacune exécutée indépendamment dans cinq études de cas d'échelle variable (petite, moyenne et grande). Le modèle de qualité pour la conception orientée objet (QMOOD) a été utilisé comme outil d'évaluation pour déterminer l'influence des techniques de refactoring sur les attributs de qualité. Les résultats de la recherche indiquent que les multiples impacts des méthodes de refactorisation sur les attributs de qualité sont attribués à des mécanismes d'utilisation distincts des techniques. Ces informations aident les praticiens du logiciel à discerner l'utilisation optimale des méthodes de refactorisation pour améliorer la qualité des logiciels, en tenant compte de leurs mécanismes. De plus, ces résultats fournissent aux experts de l'industrie des lignes directrices prescriptives pour l'utilisation de méthodes de refactorisation visant à améliorer la qualité des systèmes orientés objet, fondées sur le mécanisme approprié.
Refactoring has emerged as a predominant approach to augmenting software product quality. However, empirical evidence suggests that not all dimensions of software quality experience unending enhancements through refactoring. Current scholarly explorations reveal significant variances in the impacts of diverse refactoring methods, with potential adverse effects and contradictions surfacing concerning software quality. Consequently, such disparities render the advantages of refactoring contentious, culminating in challenges for software developers in the selection of optimal refactoring methods to ameliorate software quality. Existing literature lacks an in-depth exploration of the reasons behind the contrasting impacts of refactoring methods on quality enhancement or the development of refined protocols for employing these techniques. Therefore, this research aims to explore, identify, and fine-tune the utilization mechanisms of refactoring methods, empowering software developers to make informed choices for the enhancement of object-oriented systems' quality attributes. Ten commonly employed refactoring methods were singled out for this investigation, each executed independently across five case studies varying in scale (small, medium, and large). The Quality Model for Object-Oriented Design (QMOOD) was employed as the evaluation tool to ascertain the influence of refactoring techniques on quality attributes. The research outcomes denote that the multifarious impacts of refactoring methods on quality attributes are attributed to distinct usage mechanisms of the techniques. These insights assist software practitioners in discerning the optimal utilization of refactoring methods to ameliorate software quality, taking their mechanisms into account. Moreover, these outcomes furnish industry experts with prescriptive guidelines for employing refactoring methods to elevate the quality of object-oriented systems, predicated on the suitable mechanism.
برزت إعادة الهيكلة كنهج سائد لزيادة جودة منتجات البرمجيات. ومع ذلك، تشير الأدلة التجريبية إلى أنه لا تواجه جميع أبعاد جودة البرمجيات تحسينات لا تنتهي من خلال إعادة الهيكلة. تكشف الاستكشافات العلمية الحالية عن اختلافات كبيرة في تأثيرات طرق إعادة الهيكلة المتنوعة، مع ظهور آثار ضارة وتناقضات محتملة فيما يتعلق بجودة البرامج. وبالتالي، فإن مثل هذه التفاوتات تجعل مزايا إعادة الهيكلة مثيرة للجدل، وتتوج بتحديات لمطوري البرمجيات في اختيار طرق إعادة الهيكلة المثلى لتحسين جودة البرمجيات. تفتقر الأدبيات الحالية إلى استكشاف متعمق للأسباب الكامنة وراء التأثيرات المتناقضة لأساليب إعادة الهيكلة على تحسين الجودة أو تطوير بروتوكولات منقحة لاستخدام هذه التقنيات. لذلك، يهدف هذا البحث إلى استكشاف وتحديد وضبط آليات استخدام أساليب إعادة الهيكلة، وتمكين مطوري البرامج من اتخاذ خيارات مستنيرة لتعزيز سمات جودة الأنظمة الموجهة للكائنات. تم تحديد عشر طرق لإعادة الهيكلة شائعة الاستخدام لهذا التحقيق، وتم تنفيذ كل منها بشكل مستقل عبر خمس دراسات حالة متفاوتة في الحجم (صغيرة ومتوسطة وكبيرة). تم استخدام نموذج الجودة للتصميم الموجه للكائنات (QMOOD) كأداة تقييم للتأكد من تأثير تقنيات إعادة الهيكلة على سمات الجودة. تشير نتائج البحث إلى أن التأثيرات المتنوعة لأساليب إعادة الهيكلة على سمات الجودة تُعزى إلى آليات الاستخدام المتميزة للتقنيات. تساعد هذه الرؤى ممارسي البرمجيات في تمييز الاستخدام الأمثل لأساليب إعادة الهيكلة لتحسين جودة البرمجيات، مع أخذ آلياتهم في الاعتبار. علاوة على ذلك، تزود هذه النتائج خبراء الصناعة بإرشادات توجيهية لاستخدام طرق إعادة الهيكلة لرفع جودة الأنظمة الموجهة للكائنات، بناءً على الآلية المناسبة.
FOS: Computer and information sciences, Refactoring, Software quality, Epistemology, Agile Software Development in Software Engineering, refactoring methods, software metrics, refactoring mechanisms, Software maintenance, Software engineering, Software development, Object-oriented programming, software quality, Computer science, TK1-9971, Programming language, FOS: Philosophy, ethics and religion, software maintenance, Philosophy, Software Process Improvement, Code refactoring, Computer Science, Physical Sciences, Quality (philosophy), Software system, Software Reliability Modeling, Electrical engineering. Electronics. Nuclear engineering, Software Reliability Assessment and Prediction, Software, Empirical Studies in Software Engineering, Information Systems
FOS: Computer and information sciences, Refactoring, Software quality, Epistemology, Agile Software Development in Software Engineering, refactoring methods, software metrics, refactoring mechanisms, Software maintenance, Software engineering, Software development, Object-oriented programming, software quality, Computer science, TK1-9971, Programming language, FOS: Philosophy, ethics and religion, software maintenance, Philosophy, Software Process Improvement, Code refactoring, Computer Science, Physical Sciences, Quality (philosophy), Software system, Software Reliability Modeling, Electrical engineering. Electronics. Nuclear engineering, Software Reliability Assessment and Prediction, Software, Empirical Studies in Software Engineering, Information Systems
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 4 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
