W zależności od ilości danych do przetworzenia generowanie pliku może się wydłużyć.

Jeśli generowanie trwa zbyt długo można ograniczyć dane np. zmniejszając zakres lat.

Rozprawa doktorska

Pobierz BibTeX

Tytuł

Design patterns and code smells. Relationships and impact on selected software quality metrics

Autorzy

[ 1 ] Instytut Informatyki, Wydział Informatyki i Telekomunikacji, Politechnika Poznańska | [ D ] doktorant

Promotor

[ 1 ] Instytut Informatyki, Wydział Informatyki i Telekomunikacji, Politechnika Poznańska | [ P ] pracownik

Promotor pomocniczy

[ 1 ] Instytut Informatyki, Wydział Informatyki i Telekomunikacji, Politechnika Poznańska | [ P ] pracownik

Recenzenci

Wariant tytułu

PL Wzorce projektowe i przykre zapachy w kodzie programu. Wzajemne związki i wpływ na wybrane metryki jakości oprogramowania

Język

angielski

Słowa kluczowe
EN
  • design patterns
  • code smells
  • defects
  • changeability
PL
  • wzorce projektowe
  • przykre zapachy
  • defekty
  • zmienność kodu
Streszczenie

EN Design patterns are recommended generic solutions to common design problems. They have a complex relationship with various code quality characteristics. While several papers reported the positive impact of patterns on maintainability, changeability, and defects, other papers provided opposite conclusions, lessened the patterns effect or related their impact with various contextual factors. In this work, we investigate the relationship between design patterns and code smells and study the effect of code smells as a confounding variable in the patterns relationship with changeability and defects. We start by analyzing two medium-size, mature Java systems with the aim of investigating if the existence of design patterns impacts the presence of code smells and examine how the association between the two phenomena evolve over time. After that, we used non-parametric statistical tests to explore the relationship between design patterns and changeability, and to measure the impact of code smells on this relationship with regards to 13 design patterns and 9 code smells in three medium-size, long-evolving open-source Java systems. Finally, we inspect the link between patterns and defects and capture the difference in the impact on defects between pattern classes with/without smells in 10 Java systems from the PROMISE dataset. The results show that design pattern classes are more immune to code smells than other classes. However, the strength of this immunity varies between different patterns. Our results also suggest that the evolution of pattern classes through different releases of the same system slightly decreases their association with smells. Furthermore, our analysis concluded that code smells is a valid contextual factor that affects the relationship between design patterns with regards to both defects and changeability as in one hand, smelly patterns tend to receive smaller, but more frequent changes than other classes, and on the other hand, smelly pattern classes are positively associated with defects and also attract more defects than both non-pattern and non-smelly-pattern classes.

PL Wzorce projektowe stanowią polecane ogólne rozwiązania typowych problemów związanych z projektowaniem oprogramowania. Użycie wzorców wpływa na różne właściwości i charakterystyki kodu źródłowego. O ile wiele prac wskazuje na pozytywny związek z wzorców z pielęgnowalnością, zmiennością oprogramowania oraz gęstością defektów, o tyle część wyników prowadzi do odmiennych, czasem nawet przeciwnych wniosków: wpływ wzorców okazuje się dużo słabszy lub powiązany z rozmaitymi czynnikami kontekstowymi. W tej pracy podjęto temat związku pomiędzy wzorcami projektowymi oraz tzw. przykrymi zapachami w kodzie programów, oraz zbadano wpływ tych zależności na zmienność kodu oraz jego gęstość defektów w nim zawartych. Na początku pracy przedstawiono wyniki analizy dwóch średniej wielkości, dojrzałych systemów napisanych w języku Java pod kątem związków pomiędzy klasami uczestniczącymi we wzorcach projektowych oraz obarczonych przykrymi zapachami, a także ewolucji tych związków w czasie. Następnie, za pomocą nieparametrycznych testów statystycznych, przeprowadzono badanie wzajemnego wpływu wzorców oraz przykrych zapachów na zmienność oprogramowania w trzech podobnych systemach. Wreszcie, badanie związku tych zjawisk z gęstością defektów, wykorzystując istniejące dane ze zbioru PROMISE. Wyniki wskazują, że klasy uczestniczące na wzorce projektowe rzadziej są obciążone przykrymi zapachami niż pozostałe klasy, jednak związek ten zmienia się w zależności od konkretnego wzorca. Obserwacje dotyczące zmian tego związku w czasie pokazują także, że w toku ewolucji udział przykrych zapachów w klasach pełniących role we wzorcach nieznacznie spada. Ponadto, wykonana analiza pozwala na stwierdzenie, że obecność przykrych zapachów jest czynnikiem wpływającym na zmienność kodu i gęstość defektów w we wzorcach projektowych. Klasy obarczone zapachami są zmieniane częściej, jednak same zmiany są mniejsze niż w przypadku innych klas, natomiast klasy wzorców posiadające przykre zapachy posiadają błędy częściej i w większej liczbie zarówno niż klasy nieuczestniczące we wzorcach, jak i klasy uczestniczące we wzorcach, ale pozbawione zapachów.

Liczba stron

88

Dziedzina wg OECD

nauki o komputerach i informatyka

Dyscyplina wg KBN

informatyka

Sygnatura rozprawy w wersji drukowanej

DrOIN 2142

Katalog on-line

to2021998653

Pełny tekst rozprawy doktorskiej

Pobierz plik

Poziom dostępu do pełnego tekstu

publiczny

Pierwsza recenzja

Foutse Khomh

Miejsce

Montréal, Canada

Data

08.09.2021

Język

angielski

Tekst recenzji

Pobierz plik

Poziom dostępu do recenzji

publiczny

Druga recenzja

Michał Śmiałek

Miejsce

Warszawa, Poland

Data

12.07.2021

Język

angielski

Tekst recenzji

Pobierz plik

Poziom dostępu do recenzji

publiczny

Status rozprawy

rozprawa doktorska

Miejsce obrony

Poznań, Polska

Data obrony

01.10.2021

Jednostka nadająca tytuł

Rada Dyscypliny Informatyka Techniczna i Telekomunikacja Politechniki Poznańskiej

Uzyskany tytuł

doktor nauk inżynieryjno-technicznych w dyscyplinie: informatyka techniczna i telekomunikacja

Ta strona używa plików Cookies, w celu zapamiętania uwierzytelnionej sesji użytkownika. Aby dowiedzieć się więcej przeczytaj o plikach Cookies i Polityce Prywatności.