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.