Nowe języki wspierają inżynierię oprogramowania

Zaawansowane technologicznie narzędzia służące do oceny zastosowań z zakresu inżynierii oprogramowania pomagają w wykorzystaniu nowych języków programowania, które powinny usprawnić proces programowania.

Języki programowania szybko ewoluują, a języki funkcjonalne zaczynają zdobywać pozycję skutecznego narzędzia do szybkiego tworzenia oprogramowania. W ramach projektu SEFUNC (Software engineering properties of functionally enabled languages), finansowanego ze środków UE, badano zalety tych nowych języków. Uczeni analizowali, czy cechy funkcjonalne nowoczesnych języków poprawiają wydajność programistów i ograniczają złożoność kodu.

Jako że empiryczne badania z dziedziny inżynierii oprogramowania wymagają gromadzenia i przetwarzania danych z repozytoriów oprogramowania, w projekcie opracowano nowe narzędzia umożliwiające ocenę aktualnie stosowanych zastosowań dotyczących języków funkcjonalnych. Przygotowano zaawansowany algorytm do eksploracji repozytoriów, pozwalający na uzyskanie wszystkich danych dostępnych z GitHub, popularnej platformy do hostingu projektów, dublowania i współpracy.

Aby zrealizować te założenia, zespół zaprojektował GHTorrent — skalowalne i przeszukiwalne zdublowane repozytorium danych offline — umożliwiające wykorzystanie rozproszonych zbiorów danych poprzez ekosystemy programowania typu "pull-based" oraz języków zwizualizowanych. Po zebraniu, dane są oferowane na powrót społeczności użytkowników za pośrednictwem strony internetowej projektu, na której dostępne są ponad 2 terabajty danych w dwóch formatach bazodanowych. Pozwala to uczonym na prowadzenie kompleksowych populacyjnych badań ilościowych w dziedzinach takich jak ekosystemy oprogramowania, współpraca rozproszona czy eksploracja repozytoriów.

Co ważne, zespół badał programowanie typu "pull-based", nowy paradygmat programowania rozproszonego. Przeprowadzono pierwszą zakrojoną na dużą skalę analizę ilościową działania modelu programowania "pull-based", wyodrębniając dane z ponad 300 dużych projektów i 170 000 żądań "pull". Dzięki temu można było określić czynniki wpływające na decyzję o scaleniu żądania "pull" oraz czasu potrzebnego do jego przetworzenia, a także uzyskać kluczowe dane umożliwiające poprawienie wydajności projektów rozproszonych.

Warto odnotować, że projekt zdobył nagrodę "Best data showcase award" na konferencji Mining Software Repositories 2013 za innowacyjne wykorzystanie rozproszonego crawlingu i udostępniania cennych danych społeczności. Efektem prac jest publikacja licznych artykułów na ten temat, a projekt jest często przytaczany jako przykład najnowszych badań w tej dziedzinie na różnych konferencjach. Jego rezultaty niewątpliwie przyczynią się do rozwoju inżynierii oprogramowania i szybkiego stworzenia języków funkcjonalnych.

opublikowano: 2016-01-04
Komentarze


Polityka Prywatności