Nie jesteś zalogowany | Zaloguj się

Wykrywanie wzorców czasowo-przestrzennych w procesie wytwarzania oprogramowania

Prelegent(ci)
Łukasz Puławski
Afiliacja
MIMUW
Termin
14 kwietnia 2023 16:15
Informacje na temat wydarzenia
4060 & online meet.google.com/jbj-tdsr-aop
Seminarium
Seminarium badawcze „Systemy Inteligentne”



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 takich danych jest system kontroli wersji, który zapisuje wszelkie zmiany w kodzie źródłowym rozwijanego programu. Wśród obszarów badań MSR można wyróżnić dwa szczególnie związane z tematem mojej rozprawy: 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 badanie ewolucji systemu, czyli badanie zmian w konstrukcji oprogramowania obserwowanych w czasie. W dysertacji przedstawiona jest metoda wykrywania wzorców czasowo-przestrzennych w procesie wytwarzania oprogramowania, co stanowi swoiste połączenie modeli stosowanych w obu obszarach.
W wystąpieniu przedstawię  model formalny, która pozwala w efektywny, przyrostowy sposób wykrywać relacje czasowo-przestrzenne w trakcie rozwijania systemu informatycznego.  Pokażę także, jak w  takich danych można wykrywać reguły czasowo-przestrzenne, pozwalające m.in. przewidywać, gdzie i kiedy można spodziewać się wystąpienia w kodzie antywzorców.
Za praktyczne zastosowanie zaproponowanej metody służyć będzie studium przypadku, oparte o kody projektów open-source, użyte do eksperymentalnej weryfikacji modelu.


Title: Mining spatio-temporal patterns in software development process

Mining software repositories (MSR) is a domain of data mining in which we explore data produced during the software development process. The main, though not exclusive, source of data for this study is the source code management system (SCM), which stores information about all changes applied to the source code. 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 that 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 combines certain methods used in the two aforementioned areas to produce a method that mines software development process to infer spatio-temporal rules.

In my talk I will describe the formal framework which enables us to detect spatio-temporal relations in the software development process in an effective incremental manner.
I will explain how such data can be used to mine spatio-temporal decision rules, which enables us (among other things) to predict where and when certain design anti-patterns may appear in the source code.

To explain the formalisms, we will go through a case-study based on the source code of the open-source projects which were used in the thesis for experimental validation.