Статистичне оцінювання метрики зв’язування між об’єктами для застосунків із відкритим кодом розроблених на Java
DOI:
https://doi.org/10.15276/hait.05.2022.13Ключові слова:
cтатистичне оцінювання, програмна метрика, зв'язування між об'єктами, застосунок з відкритим кодом, JavaАнотація
Зв'язування між об'єктами (ЗМО) разом з іншими метриками використовується для оцінювання помилок, уразливостей та інших показників якості програмних систем, у тому числі з відкритим кодом. На рівні класу метрика зв'язування між об'єктами – це кількість класів, пов’язаних із даним класом. На рівні застосунку цей показник визначає середню кількість класів, використаних на клас. Відомо, що значення зв'язування між об'єктами від одного до чотирьох є добрим. Однак існують застосунки на Java, для яких значення метрики зв'язування між об'єктами на рівні застосунку перевищує чотири, наприклад, три популярні програми з відкритим кодом, розроблені на Java: FreeMind, jEdit і TuxGuitar. Тому, на нашу думку, наведений вище інтервал для зв'язування між об'єктами потребує уточнення для рівня застосунку. Щоб знайти рекомендовані значення для середнього зв'язування між об'єктами застосунку, ми запропонували застосувати довірчі та прогнозні інтервали. Середнє значення зв'язування між об'єктами застосунку з довірчого інтервалу є добрим, оскільки цей інтервал вказує на те, наскільки достовірною є оцінка для всіх застосунків. Середнє значення зв'язування між об'єктами вище верхньої межі інтервалу прогнозування може означати, що деякі класи надто тісно пов’язані з іншими в застосунку. Ми оцінили довірчі та прогнозні інтервали середнього зв'язування між об'єктами за допомогою нормалізуючих перетворень для вибірки даних зі ста застосунків з відкритим кодом, розроблених на Java, розміщених на GitHub. Порівняння із середніми значеннями зв'язування між об'єктами трьох популярних додатків з відкритим кодом, розроблених на Java, ілюструє застосовність запропонованих індикаторів якості у формі довірчих інтервалів і інтервалів прогнозування середнього зв'язування між об'єктами.