You are not logged in | Log in

Wykrywanie wzorców czasowo-przestrzennych w procesie wytwarzania oprogramowania cz. 2

Speaker(s)
Łukasz Puławski
Affiliation
MIMUW
Date
April 21, 2023, 4:15 p.m.
Information about the event
ONLINE: meet.google.com/jbj-tdsr-aop
Seminar
Seminar Intelligent Systems

Ta prezentacja będzie próbą generalną przed obroną pracy doktorskiej / This will be a rehearsal before the defence of Ph.D. Thesis

Eksploracja repozytoriów oprogramowania (ang. mining software repositories - MSR) to dziedzina eksploracji danych, w której bada się zbiory danych, powstające podczas rozwoju oprogramowania. Zasadniczo głównym (choć nie
jedynym) źródłem danych w tych badaniach jest system kontroli wersji, który zapisuje zmiany w kodzie źródłowym programu podczas jego rozwoju.
Wśród obszarów badań MSR można wyróżnić dwa związane z tematem rozprawy:

  1. Wykrywanie antywzorców projektowych, czyli pewnych struktur w kodzie, które stanowią często występujące błędne rozwiązanie typowego zadania programistycznego oraz
  2. badanie ewolucji systemu (ang. software evolution), czyli badanie zmian w konstrukcji oprogramowania obserwowanych  w czasie.

W pracy przedstawiona jest metoda wykrywania wzorców czasowo-przestrzennych w procesie wytwarzania oprogramowania, co stanowi swoiste połączenie modeli stosowanych w tych dwóch obszarach. Dzięki takiemu podejściu zyskujemy, między innymi, możliwość przewidywania, kiedy i gdzie mogą pojawić się w kodzie antywzorce.


Title: Mining spatio-temporal patterns in software development process, part 2

Mining software repositories (MSR) is a domain of data mining in which we explore data produced during software development process. The source code management system (SCM), which stores information about all changes applied to the software source code, is the main (but not exclusive) source of data in this research. Two areas of MSR research are strongly related to the thesis:

  1. Detection of design anti-patterns, which are specific structures in the source code, which represent recurring wrong solutions of a common programming task, and
  2. software evolution analysis, whose goal is to describe changes of software during its development time.

The thesis introduces a framework of mining spatio-temopral rules in the software development process, which is a specific combination of some methods used in the two aforementioned areas. It enables us (among other things) to predict where and when certain design anti-patterns may appear in the source code.