2007/2008 Opiekun: dr inż. Lech Madeyski E

Transkrypt

2007/2008 Opiekun: dr inż. Lech Madeyski E
Proponowane tematy prac magisterskich z inŜynierii oprogramowania
Lata: 2007/2008
Opiekun: dr inŜ. Lech Madeyski
E-Mail: lech [<dot>] madeyski [<at>] pwr [<dot>] wroc [<dot>] pl
WWW: http://madeyski.e-informatyka.pl
Prowadzący: dr inŜ. Lech Madeyski
Temat 1: Metryki Li dla Systemów Obiektowych w Języku Java (ang. Li Metrics for Object
Oriented Systems in Java)
Omówienie: Metryki kodu są stosowane do ilościowej oceny produktów i procesów
wytwarzania oprogramowania. Badania naukowe słuŜą potwierdzeniu uŜyteczności
zaproponowanych metryk. Ciekawym zbiorem metryk dla systemów obiektowych są metryki
Li. Niestety nie zyskały one takiej popularności jak niektóre inne metryki wcześniej
stosowane w kontekście systemów obiektowych.
Celem pracy jest:
• Implementacja (lub rozszerzenie istniejącego) narzędzia do obliczania metryk Li dla
systemów obiektowych stworzonych w języku Java
• Empiryczna ocena uŜyteczności metryk Li do budowy modeli jakości
oprogramowania.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy, bierna znajomość języka angielskiego. Znajomość
AspectJ (lub chęć jego poznania) będzie dodatkowym atutem.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.
Uwaga: MoŜliwa współpraca z przemysłem.
Prowadzący: dr inŜ. Lech Madeyski
Temat 2: Modyfikacje Metryk CK dla Systemów Obiektowych w Języku Java (ang. Modified
CK Metrics for Object Oriented Systems in Java)
Omówienie: Metryki kodu są stosowane do ilościowej oceny produktów i procesów
wytwarzania oprogramowania. Badania naukowe słuŜą potwierdzeniu uŜyteczności
zaproponowanych metryk. Ciekawym i bardzo znanym zbiorem metryk dla systemów
obiektowych są metryki CK.
Celem pracy jest:
• Rozszerzenie istniejącego narzędzia do obliczania metryk CK dla systemów
obiektowych stworzonych w języku Java lub implementacja nowego narzędzia
umoŜliwiającego zbieranie, zaproponowanych przez promotora, modyfikacji metryk
CK jak i nowych metryk dostosowanych do specyfiki najnowszych wersji platformy
Java i programowania aspektowego.
• Empiryczna ocena uŜyteczności zaimplementowanych metryk do budowy modeli
jakości oprogramowania.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy, bierna znajomość języka angielskiego. Znajomość
AspectJ (lub chęć jego poznania) będzie dodatkowym atutem.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.
Uwaga: MoŜliwa współpraca z przemysłem.
Prowadzący: dr inŜ. Lech Madeyski
Temat 3: Testowanie Mutacyjne (ang. Mutaton Testing)
Omówienie: Testowanie jest kluczową metodą zapewnienia jakości tworzonego
oprogramowania. Testowanie mutacyjne jest obiecującą metoda badania jakości testów.
Pomysł badawczy związany z tematem pracy jest wynikiem realizowanego grantu
badawczego i obejmuje:
• Rozwinięcie istniejącego narzędzia do testowania mutacyjnego o nowe (wskazane
przez promotora) mutacje dla języka Java.
• Empiryczną ocenę zaimplementowanych mutacji i wskazanie zbioru
najefektywniejszych mutacji.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy, bierna znajomość języka angielskiego. Znajomość
AspectJ (lub chęć jego poznania) będzie dodatkowym atutem.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.
Uwaga: MoŜliwa współpraca z przemysłem.
Prowadzący: dr inŜ. Lech Madeyski
Temat 4: Architektura Sterowana Testami (ang. Test-Driven Architecture)
Omówienie: Pomysł badawczy związany z tematem pracy jest wynikiem realizowanego
grantu badawczego i dotyczy zastosowania testowania mutacyjnego do poprawy projektu
i architektury tworzonych systemów informatycznych.
Celem pracy jest:
• Rozwiniecie narzędzia testowania mutacyjnego pod kątem wykrywania problemów
projektowych i architektonicznych w systemach obiektowych i aspektowych
tworzonych na platformie Java.
• Empiryczna ocena uŜyteczności zaimplementowanych koncepcji w kontekście jakości
tworzonych systemów.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy, bierna znajomość języka angielskiego. Znajomość
AspectJ (lub chęć jego poznania) będzie dodatkowym atutem.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.
Uwaga: MoŜliwa współpraca z przemysłem.
Prowadzący: dr inŜ. Lech Madeyski
Temat 5: Programowanie Poprzez Testy (ang. Test-Driven Development)
Omówienie: Programowanie poprzez testy (ang. Test-Driven Development - TDD) jest bardzo
waŜną praktyką metodyki XP stosowaną np. w takich projektach jak Eclipse czy Fitness.
Badanie efektów stosowania tej praktyki jest jednak utrudnione, gdyŜ trudno jest sprawdzić,
czy rzeczywiście była ona skrupulatnie stosowana w badanym projekcie. Dlatego celem pracy
jest:
• Stworzenie lub rozwiniecie narzędzia do badania zgodności procesu wytwarzania
oprogramowania z zaleceniami praktyki TDD.
• Empiryczna weryfikacja poprawności działania narzędzia na badanych projektach
wskazanych przez promotora.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy i Eclipse IDE, bierna znajomość języka
angielskiego. Znajomość AspectJ (lub chęć jego poznania) będzie dodatkowym atutem.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.
Uwaga: MoŜliwa współpraca z przemysłem.
Prowadzący: dr inŜ. Lech Madeyski
Temat 6: Badanie jakości oprogramowania pod kątem podatności na błędy (ang. Analysing
Fault-Proneness of Software Systems)
Omówienie: DuŜe firmy wytwarzające oprogramowanie borykają się z ogromnymi kosztami,
których przyczyną są błędy wykrywane dopiero podczas uŜytkowania systemu. Kluczowym
zagadnieniem jest umoŜliwienie wskazywania fragmentów systemu, które powinny być
poddane inspekcji.
W ramach pracy naleŜy:
• Scharakteryzować najnowsze osiągnięcia naukowe i praktyczne dotyczące sposobów
zapewniania jakości tworzonego oprogramowania.
• Zaimplementować (lub rozszerzyć istniejące) narzędzie do badania jakości
oprogramowania pod kątem podatności na błędy.
• Empirycznie zbadać wskazane projekty i zaproponować zbiór metryk, które mogą
posłuŜyć do budowy modelu podatności oprogramowania na błędy.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy, bierna znajomość języka angielskiego. Znajomość
AspectJ (lub chęć jego poznania) będzie dodatkowym atutem.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.
Uwaga: MoŜliwa współpraca z przemysłem.
Prowadzący: dr inŜ. Lech Madeyski
Temat 7: Analiza projektów informatycznych pod kątem przewidywania sukcesu projektu
(ang. Analysing Software Project Success Factors)
Omówienie: DuŜe firmy wytwarzające oprogramowanie borykają się z ogromnymi kosztami,
niepowodzeń projektów informatycznych. Kluczową kwestią jest umoŜliwienie wskazywania
charakterystyk projektu mających wpływ na jego sukces.
W ramach pracy naleŜy:
• Scharakteryzować najnowsze osiągnięcia naukowe i praktyczne dotyczące
przewidywania poraŜek/sukcesów projektów informatycznych.
• Stworzyć infrastrukturę informatyczną a następnie przeanalizować odpowiednio duŜy
zbiór projektów i zaproponować zbiór metryk, które mogą posłuŜyć do budowy
modelu przewidywania sukcesu projektu.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy, bierna znajomość języka angielskiego.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.
Uwaga: MoŜliwa współpraca z przemysłem.
Prowadzący: dr inŜ. Lech Madeyski
Temat 8: Analiza Wpływu Praktyki Programowania Poprzez Testy na Przykładzie Projektów
Open Source (ang. Analysis of the Impact of Test-Driven Development on Open Source
Projects)
Omówienie: Programowanie poprzez testy (ang. Test-Driven Development - TDD) jest bardzo
waŜną praktyką metodyki XP stosowaną m.in. w przypadku projektów Open Source. Badanie
efektów stosowania tej praktyki w przypadku projektów Open Source jest jednak utrudnione,
gdyŜ trudno jest sprawdzić, czy rzeczywiście była ona skrupulatnie stosowana w badanym
projekcie. Dlatego celem pracy jest:
• Pozyskanie i prezentacja wiarygodnych danych dotyczących zastosowania praktyki
TDD w projektach Open Source.
• Empiryczna ocena wpływu praktyki TDD na przykładzie projektów Open Source.
Rodzaj pracy: praktyczno-teoretyczna
Wymagania: chęć do pracy i zdolność do twórczego działania, wysokie umiejętności
programistyczne i dobra znajomość Javy, aktywna znajomość języka angielskiego.
Liczba realizatorów: Praca jest przeznaczona dla jednej osoby.