Relationships between design problem agglomerations and concerns having types and domains of software as transverse dimensions
- 1. Instituto Federal da Bahia
- 2. Universidade Federal da Bahia
Description
Abstract Context Design problems have been recognized as one of the main causes behind the loss of software systems' quality. Agglomerated design problems impact the quality even more. So, organizing and analyzing the relationship between design problems and concerns as agglomerations is a possible way to enhance the identification of defective source code artifacts. Problem As different systems evolve in varied manners, it is important to analyze if the evolution of agglomerated design problems can reveal cases of discrepancies and inconstancies through time. We call these cases non-uniformity of agglomerations, and they can prevent the use of agglomerations in approaches to mitigate design problems (e.g., prediction models). To the best of our knowledge, we consider that this problem has not been investigated yet. Goal This study aims to comprehend the degree to which the non-uniformity of agglomerations is either the most common or the most exceptional situation during the evolution of software projects. We perform this investigation by grouping software projects under two transverse dimensions: types and domains of software. Method To this end, we performed a two-phase investigation: in phase I, we analyzed the historical data obtained from fifteen software projects split as three groups of types of software (distributed, service-oriented, and mobile projects); in phase II, we analyzed the evolution of six projects grouped as two domains of software (graph and timeseries databases). For each phase, we (i) mined instances of a design problem (code complexity) and concerns from the source code of projects, (ii) agglomerated the instances of code complexity around the concerns and analyzed them according to the grouped projects, and (iii) examined the resulting dataset with the help of visualizations and a statistical analysis. Results/Discussion Types of software actually shows a tendency to reveal cases of non-uniformity. On the other hand, domains of software show a partial advantage regarding the production of more uniform agglomerations through evolution.
Translated Descriptions
Translated Description (Arabic)
تم الاعتراف بمشاكل تصميم السياق التجريدي كأحد الأسباب الرئيسية لفقدان جودة أنظمة البرمجيات. تؤثر مشاكل التصميم المتكتلة على الجودة بشكل أكبر. لذلك، فإن تنظيم وتحليل العلاقة بين مشاكل التصميم والمخاوف كتكتلات هي طريقة ممكنة لتعزيز تحديد أدوات شفرة المصدر المعيبة. المشكلة نظرًا لأن الأنظمة المختلفة تتطور بطرق متنوعة، فمن المهم تحليل ما إذا كان تطور مشاكل التصميم المتكتلة يمكن أن يكشف عن حالات التناقضات وعدم الثبات بمرور الوقت. نسمي هذه الحالات عدم انتظام التجمعات، ويمكنها منع استخدام التجمعات في مناهج التخفيف من مشاكل التصميم (على سبيل المثال، نماذج التنبؤ). على حد علمنا، نعتبر أن هذه المشكلة لم يتم التحقيق فيها بعد. الهدف تهدف هذه الدراسة إلى فهم الدرجة التي يكون فيها عدم انتظام التجمعات إما الوضع الأكثر شيوعًا أو الأكثر استثنائية أثناء تطور مشاريع البرمجيات. نقوم بإجراء هذا التحقيق من خلال تجميع مشاريع البرمجيات تحت بعدين عرضيين: أنواع ومجالات البرمجيات. ولتحقيق هذه الغاية، أجرينا تحقيقًا من مرحلتين: في المرحلة الأولى، قمنا بتحليل البيانات التاريخية التي تم الحصول عليها من خمسة عشر مشروعًا برمجيًا مقسمة إلى ثلاث مجموعات من أنواع البرمجيات (مشاريع موزعة وموجهة نحو الخدمات ومتنقلة )؛ وفي المرحلة الثانية، قمنا بتحليل تطور ستة مشاريع مجمعة في مجالين من البرمجيات (قواعد بيانات الرسوم البيانية والسلاسل الزمنية). بالنسبة لكل مرحلة، قمنا (1) باستخراج حالات مشكلة التصميم (تعقيد التعليمات البرمجية) والمخاوف من شفرة المصدر للمشاريع، (2) تجميع حالات تعقيد التعليمات البرمجية حول المخاوف وتحليلها وفقًا للمشاريع المجمعة، و (3) فحص مجموعة البيانات الناتجة بمساعدة التصورات والتحليل الإحصائي. النتائج/المناقشة تُظهر أنواع البرامج في الواقع ميلًا للكشف عن حالات عدم التوحيد. من ناحية أخرى، تُظهر مجالات البرمجيات ميزة جزئية فيما يتعلق بإنتاج تكتلات أكثر اتساقًا من خلال التطور.Translated Description (French)
Contexte abstrait Les problèmes de conception ont été reconnus comme l'une des principales causes de la perte de qualité des systèmes logiciels. Les problèmes de conception agglomérée ont encore plus d'impact sur la qualité. Ainsi, organiser et analyser la relation entre les problèmes de conception et les préoccupations en tant qu'agglomérations est un moyen possible d'améliorer l'identification des artefacts de code source défectueux. Problème Comme différents systèmes évoluent de manière variée, il est important d'analyser si l'évolution des problèmes de conception agglomérés peut révéler des cas de divergences et d'inconstances au fil du temps. Nous appelons ces cas la non-uniformité des agglomérations, et ils peuvent empêcher l'utilisation d'agglomérations dans les approches visant à atténuer les problèmes de conception (par exemple, les modèles de prédiction). À notre connaissance, nous considérons que ce problème n'a pas encore été étudié. Objectif Cette étude vise à comprendre dans quelle mesure la non-uniformité des agglomérations est la situation la plus courante ou la plus exceptionnelle au cours de l'évolution des projets logiciels. Nous effectuons cette investigation en regroupant les projets logiciels sous deux dimensions transversales : les types et les domaines de logiciels. Méthode À cette fin, nous avons effectué une enquête en deux phases : dans la phase I, nous avons analysé les données historiques obtenues à partir de quinze projets logiciels répartis en trois groupes de types de logiciels (projets distribués, axés sur les services et mobiles) ; dans la phase II, nous avons analysé l'évolution de six projets regroupés en deux domaines de logiciels (bases de données de graphiques et de séries chronologiques). Pour chaque phase, nous (i) avons extrait les instances d'un problème de conception (complexité du code) et les préoccupations du code source des projets, (ii) avons aggloméré les instances de complexité du code autour des préoccupations et les avons analysées en fonction des projets regroupés, et (iii) avons examiné l'ensemble de données résultant à l'aide de visualisations et d'une analyse statistique. Résultats/Discussion Les types de logiciels montrent en fait une tendance à révéler des cas de non-uniformité. D'autre part, les domaines du logiciel montrent un avantage partiel par rapport à la production d'agglomérations plus uniformes à travers l'évolution.Translated Description (Spanish)
Resumen Los problemas de diseño de contexto han sido reconocidos como una de las principales causas detrás de la pérdida de calidad de los sistemas de software. Los problemas de diseño aglomerado afectan aún más a la calidad. Por lo tanto, organizar y analizar la relación entre los problemas de diseño y las preocupaciones como aglomeraciones es una posible forma de mejorar la identificación de artefactos defectuosos en el código fuente. Problema A medida que los diferentes sistemas evolucionan de maneras variadas, es importante analizar si la evolución de los problemas de diseño aglomerados puede revelar casos de discrepancias e inconstancias a lo largo del tiempo. Llamamos a estos casos no uniformidad de las aglomeraciones y pueden evitar el uso de aglomeraciones en enfoques para mitigar problemas de diseño (por ejemplo, modelos de predicción). A nuestro leal saber y entender, consideramos que este problema aún no ha sido investigado. Objetivo Este estudio tiene como objetivo comprender el grado en que la no uniformidad de las aglomeraciones es la situación más común o la más excepcional durante la evolución de los proyectos de software. Realizamos esta investigación agrupando los proyectos de software bajo dos dimensiones transversales: tipos y dominios de software. Método Con este fin, realizamos una investigación en dos fases: en la fase I, analizamos los datos históricos obtenidos de quince proyectos de software divididos en tres grupos de tipos de software (proyectos distribuidos, orientados a servicios y móviles); en la fase II, analizamos la evolución de seis proyectos agrupados en dos dominios de software (bases de datos de gráficos y series temporales). Para cada fase, (i) extrajimos instancias de un problema de diseño (complejidad de código) y preocupaciones del código fuente de los proyectos, (ii) aglomeramos las instancias de complejidad de código en torno a las preocupaciones y las analizamos de acuerdo con los proyectos agrupados, y (iii) examinamos el conjunto de datos resultante con la ayuda de visualizaciones y un análisis estadístico. Resultados/Discusión Los tipos de software en realidad muestran una tendencia a revelar casos de no uniformidad. Por otro lado, los dominios de software muestran una ventaja parcial con respecto a la producción de aglomeraciones más uniformes a través de la evolución.Files
s13173-020-00099-y.pdf
Files
(3.6 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:c7e5ae5ad573f6cd3f53acadedb9025f
|
3.6 MB | Preview Download |
Additional details
Additional titles
- Translated title (Arabic)
- العلاقات بين تكتلات مشكلة التصميم والمخاوف التي لها أنواع ومجالات البرمجيات كأبعاد مستعرضة
- Translated title (French)
- Relations entre les agglomérations de problèmes de conception et les préoccupations ayant des types et des domaines de logiciels comme dimensions transversales
- Translated title (Spanish)
- Relaciones entre aglomeraciones de problemas de diseño y preocupaciones que tienen tipos y dominios de software como dimensiones transversales
Identifiers
- Other
- https://openalex.org/W3038697600
- DOI
- 10.1186/s13173-020-00099-y
References
- https://openalex.org/W1679540682
- https://openalex.org/W1933119144
- https://openalex.org/W1972792480
- https://openalex.org/W2084832108
- https://openalex.org/W2095938258
- https://openalex.org/W2096951089
- https://openalex.org/W2117465452
- https://openalex.org/W2132201370
- https://openalex.org/W2133414060
- https://openalex.org/W2136119429
- https://openalex.org/W2143119899
- https://openalex.org/W2469414321
- https://openalex.org/W2494335138
- https://openalex.org/W2565862629
- https://openalex.org/W2729177868
- https://openalex.org/W2752460260
- https://openalex.org/W2757354086
- https://openalex.org/W2793775745
- https://openalex.org/W2913734115
- https://openalex.org/W2915453864
- https://openalex.org/W2970177987
- https://openalex.org/W3148957464
- https://openalex.org/W4229635402
- https://openalex.org/W4238117566
- https://openalex.org/W4245429230
- https://openalex.org/W4365799885