Prace magisterskie

Back to main site

Prace nieobsadzone

Jeśli interesujesz się zagadnieniami testowania lub zapewniania jakości oprogramowania i chcesz pisać pracę magisterską z tej tematyki, napisz do mnie. Tematy dostępnych prac magisterskich dostępne są przez system ww2.ii.uj.edu.pl/mgr.

Prace (z)realizowane

43.
Tytuł: Wykorzystanie metryk statycznych do testowania użyteczności stron internetowych
Student: Damian Gałka in progress

42
Tytuł: Opracowanie modelu 'Just enough level of testing' oraz zbadanie wpływu modelu na wykrywalność defektów oraz efektywność pracy zespołu na przykładzie implementacji metodyki scrum
Student: Katarzyna Czekaj
in progress

41.
Tytuł: Automatyczna generacja danych testowych na podstawie wyrażeń regularnych
Student: Małgorzata Dąbrowska
in progress

40.
Tytuł: Efektywność testowania mutacyjnego
Student: Marcin Data
in progress

39.
Tytuł: Testowanie procesów biznesowych
Student: Szymon Kudzia
Opis: Testowanie oparte o model (BPMN) - system wspomagający tworzenie scenariuszy testowych uwzględniających wiele kryteriów pokryć oraz elementy testowania negatywnego
Obroniona, 2015

38.
Tytuł: Testowanie według modelu opartego o maszynę stanową z wykorzystaniem grafów de Brujina
Student: Aleksander Majsak
Opis: Praca dotyczy efektywnego generowania przypadków testowych spełniających kryteria pokrycia maszyny stanowej w warunkach istnienia wielu nietrywialnych ograniczeń na postać testów
Obroniona, 2015

37.
Tytuł: Efektywna generacja mutantów
Student: Kamil Sienkiewicz
Opis: praca w ramach projektu stworzenia rozproszonego, skalowalnego, samoadaptacyjnego systemu do przeprowadzania analizy mutacyjnej (we współpracy z Motorolą)
in progress

36.
Tytuł: System do przeprowadzania testów egzaminacyjnych przez sieć
Student: Rafał Sudoł
Obroniona, 2015

35.
Tytuł: Klasyfikacja defektów na podstawie analizy repozytoriów kodu rzeczywistych projektów informatycznych
Student: Piotr Wyszyński
Obroniona, 2015

34.
Tytuł: Aplikacja wspomagająca kształcenie słuchu
Studentka: Maria Sotor
Opis: Aplikacja przeznaczona dla studentów Akademii Muzycznej
Obroniona, 2015

33.
Tytuł: Obliczanie ETA (Estimated Time of Arrival) dla pewnych symulacji działania sieci telekomunikacyjnych
Student: Piotr Leniartek
Opis: Praca pisana we współpracy z Motorolą (wyniki wdrożone w firmie)
Obroniona, 2014

32.
Tytuł: Testowanie webservice'ów na przykładzie API Twittera
Studentka: Katarzyna Pośpiech
Opis: W pracy pokazano, że zastosowanie klasycznych technik projektowania testów jest efektywnym narzędziem w znajdowaniu defektów (na przykładzie API Twittera). W badaniach wykorzystano narzędzie soapUI
Obroniona, 2014

31.
Tytuł: Stylometryczne metryki w ocenie jakości oprogramowania
Student: Rafał Babiarz
Opis: Zbadanie wpływu nowych metryk jakości oprogramowania (opartych o stylometrię) na jakość rozumianą jako gęstość defektów w kodzie. Praca wymagała przeprowadzenia eksperymentu na grupie kilkudziesięciu studentów
Obroniona, 2014

30.
Tytuł: Zastosowanie uogólnionej metody najmniejszych kwadratów do modelowania przepływu ciepła
Studentka: Anna Ściążko
Obroniona, 2012

29.
Tytuł: Binary data manipulating tools with exemplary code auto-generation engine for chosen protocol utilized in TETRA and APCO 25 systems
Studentka: Marta Musik
Opis: Praca tworzona w ramach współpracy z Motorola Solutions Polska
Obroniona, 2012

28.
Tytuł: Środowisko edukacyjne dla algorytmów teorii języków formalnych i automatów
Studenci: Julian Kwaca, Maciej Krajewski
Opis: Praca polega na stworzeniu wirtualnego laboratorium edukacyjnego, które będzie można zastosować na zajęciach z teorii języków i automatów, a także w domu podczas pracy własnej studentów. Laboratorium będzie zawierało algorytmy teorii języków wraz z ich dokładnym opisem. Student będzie miał możliwość zobaczyć zasadę działania algorytmu krok po kroku, z komentarzami, na konkretnych, podanych przez niego danych wejściowych. Wyjście jednego programu będzie mogło być wejściem do innego (np. wyrażenie regularne jako wyjście algorytmu automat -> wyrażenie regularne może być potem wejściem do algorytmu pochodnych Brzozowskiego konstruującego automat minimalny. Działanie algorytmów powinno być ładnie przedstawione w postaci graficznej (wymagana dobra znajomość grafiki) tak, żeby ich działanie było zrozumiałe dla użytkownika laboratorium. Algorytmy obejmować będą zakres materiału ćwiczeń i wykładów z teorii języków formalnych i automatów.
Obroniona

27.
Tytuł: Górne oszacowanie na długość minimalnego słowa synchronizującego w uogólnionych automatach synchronizujących
Opis: Praca teoretyczna, dla studenta z dobrą znajomością (lub gotowego nauczyć się) kombinatoryki, teorii automatów, ewentualnie także metod algebraicznych stosowanych w teorii automatów. Praca twórcza, efektem końcowym będzie praca naukowa, którą będzie można przedstawić do obrony jako pracę magisterską.
Student: Mateusz Drewienkowski
Obroniona

26.
Tytuł: Aplikacja biznesowa dla wspomagania rozwiązywania problemów data-mining
Opis: aplikacja do wspomagania procesu dataminingowego wg CRISP-DM, z implementacja kluczowych algorytmow w zakresie redukcji danych, estymacji, regresji, klasyfikacji itd.
Student: Kamil Celek
Obroniona

25.
Tytuł: Projekt i implementacja debugera do platformy il2js (oskryptowywanie stron www w .NET)
Opis: Projekt znajduje się tu: http://smp.if.uj.edu.pl/~mkol/il2js/. Praca polegałaby na stworzeniu debugera, który przechwytywałby komunikaty o błędach podczas wykonywania kodu po stronie klienta (Javascript) i lokalizował odpowiednie linijki w kodzie źródłowym (np. w C#). Dodatkową opcją mogłaby być możliwość ustawiania breakpointów w kodzie C#, które by były 'dokompilowywane' do kodu generowanego na potrzeby Javascriptu. Poza tym: podgląd zmiennych z nazwami .NET-owymi (oryginalnymi) itp. podstawowe funkcje debugera. Wiąże się to wszystko z dopisaniem pewnych funkcjonalności do istniejącej maszyny wirtualnej (kod będzie udostępniony osobie zainteresowanej pisaniem pracy). W sprawie platformy proszę kontaktować się z autorem (mkol@smp.if.uj.edu.pl).
Studenci: Dariusz Handzlik, Marek Dutko
Obroniona: lipiec 2011

24.
Tytuł: Algorytm synchronizacji bazujący na teorii wyrażeń regularnych - implementacja w pakiecie COMPAS oraz analiza złożoności
Opis: Praca typowo implementacyjna dla osoby dobrze znającej C++. Problem znalezienia minimalnego słowa synchronizującego w automacie skończonym można sprowadzić w prosty sposób do problemu znalezienia zbioru będącego przecięciem pewnych wyrażeń regularnych. Praca polegałaby na: 1) doimplementowaniu do pakietu COMPAS struktur danych dla wyrażeń regularnych oraz funkcji (metod) operujących na wyrażeniach regularnych, 2) zaimplementowaniu samego algorytmu, 3) przeprowadzeniu eksperymentów (ta część będzie łatwa ze względu na użycie pakietu COMPAS), ewentualnie 4) analiza złożoności algorytmu. Sam algorytm powinien wykorzystywać znalezione w literaturze przedmotu metody obliczania przecięcia wyrażeń regularnych. Ponieważ jest to problem trudny, można zaimplementować dokładny algorytm wykładniczy (wtedy znajdzie on zawsze minimalne słowo synchronizujące) lub jakiś szybszy, wielomianowy, oparty na pewnych heurystykach, który będzie działał szybciej, ale niekoniecznie znajdował optymalne rozwiązanie. Można też pobawić się algorytmami sztucznej inteligencji (np. alg. genetyczne).
Sturent: Daniel Dymek
Obroniona

23.
Tytuł: Optymalny algorytm synchronizacji - implementacja w pakiecie COMPAS oraz analiza złożoności
Opis: Praca typowo implementacyjna dla osoby dobrze znającej C++. Polegać będzie na zaimplementowaniu pewnego algorytmu działającego na automacie skończonym i znajdującym minimalne słowo synchronizujące dla tego automatu. Algorytm jest prosty koncepcyjnie i łatwy do zrozumienia, natomiast magistrant może wykazać się pomysłowością w jego implementacji, gdyż jest tam parę miejsc, które można zoptymalizować spytnie dobierając odpowiednie struktury danych zwiększające efektywność algorytmu. Po zaimplementowaniu trzeba będzie przeprowadzić szereg eksperymentów, ale dzięki temu, że wszystko będzie pisane w pakiecie COMPAS, te eksperymenty będzie można bardzo łatwo zaprojektować. Jeśli magistrant będzie ambitniejszy, może także pokusić się o dokładną analizę złożoności tego algorytmu. Moja intuicja podpowiada mi, że choć jest to algorytm znajdujący minimalne słowo (a problem w wersji decyzyjnej jest NP-trudny), to jednak jego złożoność powinna być nieco lepsza od klasycznego algorytmu optymalnego, który tworzy drzewo podzbiorów stanów automatu wyjściowego i szuka najkrótszej ścieżki od korzenia do węzła będącego singletonem (złożoność |A|2^n), gdzie A - alfabet, n - liczba stanów. Złożoność tego nowego algorytmu moim zdaniem wyniesie |A|k^n, gdzie 1<k<2.
Student: Arkadiusz Czajka
Obroniona

22.
Tytuł: (o hierarchicznym klasyfikatorze)
Student: Dariusz Jędrzejczyk
Obroniona

21.
Tytuł: Platforma do wspomagania zajęć laboratoryjnych z Testowania Oprogramowania
Uwagi: praca dla 2 osób
Studenci: Michał Szklarzewicz, Maciej Laskowski
Opis: Projekt polegać będzie na stworzeniu systemu podobnego do funkcjonującej w II UJ "Bacy". Studenci przy użyciu systemu będą przesyłać na serwer rozwiązania zadań z testowania (np. dostarczenie możliwie najlepszego zestawu przypadków testowych), a system będzie oceniał jakość tych rozwiązań poprzez pomiar pewnych metryk bądź sprawdzenie spełnienie kryterium pokrycia. Zadania będą dwojakiego rodzaju: 1) zadania polegające na stworzeniu konkretnego zestawu przypadków testowych dla konkretnego problemu, 2) zadania polegające na stworzeniu systemu automatycznie generującego przypadki testowe na podstawie specyfikacji programu (rozwiązanie takiego zadania będzie mogło być testowane na wielu różnych programach). Nie narzucam żadnych ograniczeń co do narzędzi czy metod wykorzystywanych podczas implementacji systemu. Oczywiście wymogiem jest dobra znajomość danej technologii plus znajomość zagadnień związanych z zagadnieniami typu klient-serwer,a także znajomość zagadnień związanych z projektowaniem i implementacją baz danych.
Obroniona

20.
Tytuł: Metryki jakości oprogramowania bazujące na złożoności predykatów
Student: Jan Opacki
Opis: Praca z pogranicza testowania oprogramowania i jakości oprogramowania. Wprowadzałaby nowe metryki pomiaru jakości oprogramowania, wynikające z kryteriów pokryć logicznych w testowaniu. Praca polegałaby na wyprowadzeniu modelu wykorzystującego m.in. złożoność klauzul (czyli wyrażeń w instrukcjach warunkowych) oraz zastosowaniu tego modelu do przewidywania jakości oprogramowania na przykładzie rzeczywistego projektu (np. przeglądarki Mozilli) oraz porównaniu modelu z innymi istniejącymi. Jeśli idzie o "praktyczne" wymagania, to magistrant będzie musiał umieć w szczególności wykorzystywać narzędzia do parsowania i analizy kodu źródłowego. Z wymagań "teoretycznych" najważniejsze jest orientowanie się w modelach jakości oprogramowania oraz w statystyce. Produktem pracy, oprócz samych wyników badań, będzie także aplikacja licząca metryki oraz wykorzystująca zbudowany model.
Obroniona

19.
Tytuł: Analiza gry Texas Hold'em
Student: Piotr Bzdęga
Opis: Praca z pogranicza sztucznej inteligencji, rachunku prawdopodobieństwa i teorii gier. Polegałaby na opisaniu tej popularnej wersji pokera i matematycznej analizie gry (szacowanie rozkładów prawdopodobieństw, wymyślanie heurystyk do gry itp.). Częścią pracy byłby program komputerowy grający w Texas Hold'em i wykorzystujący opisane w pracy algorytmy sztucznej inteligencji.
Obroniona

18.
Tytuł: Silnik gry RPG
Studenci: Michalina Piasta, Konrad Jaśkowiec
Opis: Praca dla 2 osób. Praca polega na stworzeniu silnika do gry RPG, z odpowiednim zaprojektowaniem logiki gry (questy, zależność akcji i zdarzeń) oraz sztucznej inteligencji (strategia przeciwników w walce polega na uczeniu się od strategii gracza, co tym samym samoczynnie podnosi trudność gry w czasie).
Obroniona

17.
Tytuł: Internetowy system wspomagający pracę redakcji czasopisma naukowego
Student: Grzegorz Pisarek
Opis: Praca implementacyjna, związana z bazami danych, programowaniem 'webowym' (np. php+sql, lub inne, nowsze technologie, ajax itp. itd.) Praca polegać będzie na stworzeniu platformy do zarządzania procesem wydawniczym w czasopiśmie naukowym. Składać się będzie z modułu dla autora, modułu dla recenzenta, modułu dla redaktora. Autor zakłada sobie konto, loguje się i przesyła swoją pracę do opublikowania. Redaktor loguje się i wyznacza recenzentów. System automatycznie wysyła recenzentom powiadomienie, że na ich koncie znajduje się praca do oceny. Recenzenci oceniają pracę za pomocą interfejsu webowego; odpowiednia (jawna) część recenzji przesyłana jest autorowi, niejawna jest do wglądu dla redaktora. Redaktor nadzoruje cały proces i decyduje, czy do autora wysłany zostanie komunikat, że jego praca została przyjęta/wymaga poprawy/wymaga poprawy i ponownej recenzji/została odrzucona itp. Następnie praca jest automatycznie umieszczana na serwerze.
UWAGA - system ten zostanie wykorzystany przez co najmniej jedno rzeczywiste czasopismo naukowe!
Obroniona: czerwiec 2010

16.
Tytuł: Program do gry w SCRABBLE
Student: Przemysław Sitek
Opis: Praca dla studenta zainteresowanego strukturami danych/sztuczną inteligencją/złożonością obliczeniową/operowaniem na dużych bazach danych. Charakter pracy: implementacyjno-intelektualny :) Przy tej pracy trzeba będzie samodzielnie myśleć, bo w zamyśle ma być ona twócza. Chodzi o zaprojektowanie i zaimplementowanie dobrze grającego programu do gry w SCRABBLE poprzez dobór odpowiednich struktur danych oraz innych pomysłów na usprawnienie gry (zastosowanie funkcji haszujących itp. sprawy) oraz obliczenie złożoności obliczeniowej poszczególnych algorytmów wchodzących w skład aplikacji. Do programu można też dołączyć różne dodatki, np. program znajdujący wszystkie anagramy danego słowa itp. Gdyby wyszło z tego coś fajnego, można nawiązać kontakt z Polską Federacją Scrabble i zorganizować jakiś turniej z 'żywymi' zawodnikami lub z innymi programami komputerowymi. Praca może też zawierać przegląd istniejących rozwiązań. Literatura tematu jest bardzo bogata.
Obroniona: czerwiec 2010

15.
Tytuł: Algorytmy optymalizacji mrowiskowej dla problemu synchronizacji
Student: Piotr Dudzik

14.
Tytuł: Problem liczby klastrowań a problem Dedekinda
Uwagi: Praca implementacyjna, ale o podłożu teoretycznym, dla ambitnego/ej studenta/ki
Student: Agnieszka Deszyńska
Opis: Praca opisywałaby algorytm, którego zadaniem jest wyprowadzanie wzoru na liczbę pewnych obiektów, opisanych relacjami mnogościowymi. Głównie chodzi o liczbę tzw. klastrowań, ale mogą to być obiekty zadane nieco innymi warunkami. Nie wymaga znajomości specjalistycznych teorii, raczej wymaga umiejętności logicznego i algorytmicznego myślenia. Jeśli ktoś jest zainteresowany, służę publikacją, która dokładnie wyjaśnia, o co chodzi.
Obroniona: październik 2010

13.
Tytuł: Symulacja dymu na CUDAch
Student: Mateusz Zawadzki
Opis: Praca o charakterze implementacyjnym, numeryczne rownania + obliczenia na karcie graficznej + autorska optymalizacja dla problemu.
Obroniona: październik 2010

12.
Tytuł: Automatyczna generacja przypadków testowych na podstawie analizy grafów przyczynowo-skutkowych
Student: Maciej Kaczor
Opis: Praca zawierałaby przegląd metod i algorytmów automatycznego tworzenia zestawów przypadków testowych spełniających określone kryteria związane ze spełnialnością warunków wejściowych, na podstawie analizy grafów przyczynowo-skutkowych. Praca o charakterze implementacyjnym.

11.
Tytuł: Graficzne środowisko pracy dla projektu COMPAS
Student: Jacek Rogoźnicki
Opis: Praca powiązana z pracą 4. Polegałaby na stworzeniu aplikacji działającej w stylu Mathematiki czy Matlaba. Aplikacja ta dotyczyć ma operacji na automatach synchronizujących. W jej skład powinien wchodzić m.in.: moduł graficznego rysowania automatów; moduł zarządzający zmiennymi definiującymi obiekty typu: automat, słowo, alfabet, podzbiór stanów itp.; możliwość pisania prostych skryptów w wewnętrznym języku aplikacji jak w mathematice; itp. Program wykorzystywałby gotową funkcjonalność pakietu COMPAS, tzn. nie trzeba pisać samych algorytmów działających na automatach.
Obroniona

10.
Tytuł: Test Generation Strategies for Pairwise Testing
Student: Krzysztof Danielewicz
Opis: Praca przeglądowo-implementacyjna. Opisywałaby różne, występujące w literaturze, podejścia do generowania testów w strategii pair-wise. Do pracy można dołączyć aplikację implementującą te strategie. Dla ambitniejszego studenta: zrobić głębszy research w tej tematyce i zaproponować własne rozwiązania.
Obroniona

9.
Tytuł: Zastosowanie algorytmów genetycznych do problemu układania harmonogramu z uwzględnieniem specyfiki szkoły wyższej
Student: Maciej Cupiał
Opis: Praca dla 1 lub 2 osób. Praca składałaby się z dwóch części: 1. teoretycznej, opisującej ogólnie ideę działania algorytmów ewolucyjnych oraz zawierającą konkretne rozwiązania zaproponowane przez autorów pracy dla rozwiązania problemu harmonogramowania zajęć na uczelni wyższej; 2. praktycznej - byłaby to aplikacja pozwalająca, po wprowadzeniu niezbędnych danych na wejście (dostępność sal, przedmioty obowiązkowe, grupy, wykładowcy, pożądany brak okienek, uwzględnienie życzeń wykładowców co do swojego planu itp. itd.) na wyprodukowanie możliwie dobrego planu względem odpowiednio zdefiniowanej funkcji przystosowania, oraz pozwalałaby na późniejszą ręczną modyfikację planu kontrolując cały czas brak konfliktów typu dwie grupy w jednym czasie w jednej sali, jeden wykładowca w dwóch miejscach w jednym czasie itp. Program mógłby mieć też możliwość publikowania w formie elektronicznej planów wg sal, wykładowców, lat studiów itp. Dane bezpośrednio od wykładowców mogłyby być pobierane poprzez np. stronę internetową - zwiększyłoby to automatyzację całego procesu. Taka aplikacja byłaby wykorzystywana później przez Instytut Informatyki. Część dotycząca algorytmu genetycznego może być mniej skomplikowana i dotyczyć tylko np. przydziału numerów grup do już ustalonych zajęć dydaktycznych (taki problem występuje zawsze w II UJ z zajęciami dla I-go roku - po ułożeniu zajęć należy przypisać zajęciom numery grup tak, by każda grupa miała ten sam zestaw zajęć i aby było możliwie mało okienek)
Proponowana technologia/narzędzia: JAVA, XML, algorytmy ewolucyjne
Obroniona

8.
Tytuł: Narzędzie do automatycznego przeprowadzania testów mutacyjnych
Student: Piotr Młocek
Opis: Temat pracy może ulec drobnym zmianom. Chodzi o stworzenie narzędzia do automatycznego generowania mutantów na podstawie kodu źródłowego.
Obroniona: kwiecień 2010

7.
Tytuł: Modelowanie układów biologicznych za pomocą algorytmów ewolucyjnych na gramatykach typu Lindenmayera.
Student: Jakub Lisiński
Opis: Temat pracy może ulec drobnym zmianom. Wykorzystanie gramatyk typu Lindenmayera do analizy i symulacji rozwoju struktury organizmów roślinnych.
Obroniona: czerwiec 2010

6.
Tytuł: Optymalizacja działania komunikacji miejskiej wspomagana algorytmami ewolucyjnymi
Student: Anna Szewczyk
Opis: Praca o charakterze implementacyjnym. Stworzenie aplikacji działającej w oparciu o algorytmy ewolucyjne, związanej z 1-szym etapem tworzenia systemu komunikacji miejskiej wg Cedera, tzn. rozplanowaniem tras pojazdów komunikacji miejskiej.

5.
Tytuł: Algorytmy synchronizacji automatów skończonych
Student: Rafał Kudłacik
Opis: praca teoretyczno-praktyczna, zawierałaby opis znanych algorytmów synchronizacji oraz ich zlozonosci, porównanie ich działania oraz wykonanie pewnych obliczeń komputerowych o charakterze statystycznym dla automatów o małej liczbie stanów. byc moze moznaby wykorzystac tu tworzony wlasnie w projekcie COMPAS pakiet dla automatow synchronizujacych. Mozna takze wymyslic swoje wlasne algorytmy synchronizujace i porownac je z istniejacymi.
Obroniona: czerwiec 2010

4.
Tytuł: COMPAS - a computing package for synchronization
Student: Krzysztof Chmiel
Opis: praca dla 2 osób spośród biorących udział w projekcie COMPAS. Implementacja rozszerzalnego pakietu pozwalającego w łatwy sposób projektować eksperymenty/nowe algorytmy dotyczące synchronizacji automatów skończonych.
Obroniona: lipiec 2009

3.
Tytuł: Efficient data-structures for the synchronization problem
Student: Hubert Wagner
Opis: Zaprojektowanie struktur danych, ich implementacja, oraz wyniki doświadczalne dla algorytmów synchronizacji.
Obroniona: 2 lipca 2009

2.
Tytuł: Bus Scheduling Problem
Student: Aleksandra Stopa
Opis: Wykorzystanie algorytmu genetycznego do realizacji 2-go etapu projektowania sieci komunikacji miejskiej wg Cedera - tworzenie rozkładów jazdy.
Obroniona: 23 czerwca 2009

1.
Tytuł: Road Coloring Problem
Student: Magda Kopczyńska
Opis: praca teoretyczno-praktyczna. praca opisywałaby podejścia stosowane w road coloring problem oraz dowód twierdzenia Trahtmana (2008) rozwiązującego całkowicie ten "notorycznie otwarty problem". do pracy można dorobić program - na podstawie wyników Trahtmana zrobić algorytm synchronizująco kolorujący zadany graf.
Obroniona: czerwiec 2010