Емпіричне дослідження програмного забезпечення
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
у додатковому документі формату Excel Додаток до курсової роботи.
3. Опис алгоритмів та засобів
Статистичний аналіз, який виконується з метою визначення залежностей між метриками, складається з трьох етапів: первинний статистичний аналіз, кореляційний аналіз та регресійний аналіз. У даній курсовій роботі використовувалась наступна схема побудови залежностей.
Мал.1. Схема побудови залежностей
4. Первинний статистичний аналіз метрик та експертних оцінок
Метою первинного статистичного аналізу являється визначення закону розподілу випадкової величини. На етапі первинного статистичного аналізу відбувається дослідження вхідних статистичних даних. Спочатку аналізуються метрики, отримані в результаті вимірювання набору програм, далі експертні оцінки, що зробили експерти для цього ж набору програм. Кінцевою метою первинного статистичного аналізу є визначення, чи належить побудований закон до нормального. Причиною цього є те, що подальший аналіз базується на перевірці на „нормальність” закону розподілу, тобто кожний з наступних етапів починається цією перевіркою, і в залежності від відповіді застосовуються різні методи обчислень.
Кореляційний аналіз пар „метрика експертна оцінка”
На етапі кореляційного аналізу визначається, чи існує залежність між певними метриками та експертними оцінками, чи її немає. Якщо залежність існує, то проводиться первинна обробка даних для визначення довірчої ймовірності та виду залежності. В іншому випадку робиться висновок про відсутність залежності. Результатом даного етапу є відсіювання незалежних між собою пар „метрика експертна оцінка” та визначення за можливістю виду залежності для інших пар.
Регресійний аналіз залежних величин
Регресійний аналіз останній етап в дослідженні на залежність метрик та експертних оцінок. Він проводиться тільки при виконанні умови, що дисперсія залежної змінної (експертної оцінки) повинна залишатися постійною при зміні значення аргументу (метрики), тобто, спочатку визначається дисперсія експертної оцінки для кожного прийнятого значення метрики. Якщо пара „метрика експертна оцінка” пройшла всі етапи і не була відсіяною, робиться висновок, що експертна оцінка залежить певним чином від значення метрики з силою, що показує коефіцієнт детермінації, а вигляд залежності визначає лінія регресії.
При виконанні даної курсової роботи використовувався такий засіб автоматизації як Statistica. Statistica (торгова марка - STATISTICA) - пакет для всебічного статистичного аналізу, розроблений компанією StatSoft. У пакеті STATISTICA реалізовані процедури для аналізу даних (data analysis), управління даними (data management), видобутку даних (data mining), візуалізації даних (data visualization).
Для виконання завдання курсової роботи було використано також й наступне програмне забезпечення вимірювання IPlasma
Мал.2. Головне вікно IPlasma
Платформа IPlasma містить бібліотеку більше 80 метрик проекту, яка можуть бути застосовані на різних рівнях абстракції, дають можливість отримувати короткий огляд системи в цілому до опису деталей в межах єдиного методу за допомогою примітивних метрик.
Метрики IPlasma можуть бути поділенні на наступні категорії:
Метрики розміру включають розміри обєкту аналізу(наприклад, Lines of Code)
Метрики складності включають складність обєкту дослідження(наприклад, Cyclomatic Complexity)
Метрики взаємозвязку включає обмін даними між обєктами (наприклад, Coupling Between Objects)
Метрики звязаності класів включає звязаність класів між собою(наприклад, Tight Class Cohesion)
Платформа інструменту починається безпосередньо з вихідного коду (C++ або Java) і забезпечує повну підтримку, яка потрібна для всіх фаз залучення в процес аналізу: від граматичного аналізу коду і побудови моделі до легкого визначення бажаних аналізів, у тому числі виявлення дублювання коду. Істотне (і дуже неприємне) завдання в процесі аналізу програмного забезпечення - побудова належної моделі системи.
Мета будівництва моделі - витягування з вихідного коду інформації, яка доречна з точки зору специфічної мети. Для цього використовується відкрита бібліотека для аналізу Recoder (для Java) та McC (Model Capture for C++).
Інструмент iPlasma розвивався як пошуковий інструмент. Він успішно застосовувався для аналізу проектів ряду ”real-world” систем, у тому числі самі великі системи (>1 MLOC), подібно до mozilla (C++, 2.56-мільйонів LOC) і eclipse (Java, 1.36-мільйонів LOC).
4.1 Openproj-1.4-src
Було проведено статичний аналіз за допомогою Statistica для проекту Openproj-1.4-src для метрик зазначених у варіанті. Для метрик було обчислено статистичні характеристики(математичне сподівання, середнє квадратичне відхилення, коефіцієнти ексцесу та асиметрії). Також довірчий інтервал, на основі якого було відсіяно значення метрик, що не потрапляють в нього. Для кожної метрики було визначено закон розподілу. Документ з усіма обчисленнями додається у форматі STATISTICA Workbook Openproj.
Мал.3. Проведений статичний аналіз за допомогою Statistica для метрик LOC, NOC, HDD, CALL, WMC та BOvR
Мал.4. Проведений статичний аналіз за допомогою Statistica для метрик TCC, CDISP та PNAS
4.2 TalendOpen Studio 3.2.1
Мал.5. Проведений статичний аналіз за допомогою Statistica для метрик LOC, NOC, HDD, CALL, WMC та BOvR
Мал. 6. Проведений статичний аналіз за допомогою Statistica для метрик TCC, CDISP та PNAS
Було проведено статичний аналіз за допомогою Statistica для проекту TalendOpen Studio 3.2.1 для метрик зазначен?/p>