ИН4С

ИН4С портал

Интервју са др Милошем Ојданићем: Од Црне Горе до PayPal-a и Луксембурга у сфери софтверског инжењеринга и примјени вјештачке интелигенције у индустрији

1 min read

Др Милош Ојданић, тренутно запослен као Staff Data Scientist и истраживач у Goodyear Innovation Center-у у Луксембургу, био је гост Универзитета Црне Горе, у оквиру Дана научне дијаспоре 2024, организованих као дио Фестивала умјетности, науке и културе (ФУНК). Догађај је организовао Институт за мултидисциплинарне и интердисциплинарне студије Универзитета Црне Горе, а том приликом је др Ојданић подијелио своја искуства и размишљања о савременим изазовима у области софтверског инжењеринга, као и о својој вези с црногорском научном заједницом.

Своје прве кораке у сфери науке започео је у Подгорици, да би наставио у иностранству, а докторску дисертацију завршио на Универзитету у Луксембургу, у сарадњи с компанијом PayPal, гдје је радио на унапређењу ДевОпс пракси. Као постдокторанд на Интердисциплинарном центру за безбједност, поузданост и повјерење, бавио се истраживањем софтверског кода кроз графичке неуронске мреже и мутацијско тестирање. Његова истраживања су препозната на међународним конференцијама и у престижним часописима као што су ТСЕ, ТОСЕМ, ЕМСЕ и ИЦСЕ.

УЦГ: Радите као Staff Data Scientist и истраживач у Goodyear Innovation Center-у у Луксембургу. Како је текао ваш професионални пут до овог центра? Како ваша истраживања утичу на свакодневни рад у индустрији и на развој интелигентних система унутар једне тако велике компаније?

Др Ојданић: Професионални пут је текао, и даље тече, са осцилацијама у интересовању. Пејзаж отворених проблема у софтверској области разноврснији је него икада. Почео сам са Цетиња, а током студирања у Подгорици радио сам у једној компанији, гдје сам се у прелијепом окружењу сусрео са озбиљношћу, комплексношћу и пословном страном развоја софтвера. Након неког времена нагињао сам више ка науци и одлучио да наставим мастер студије у Шведској уз врло атрактивне стипендије Европске уније, које бих препоручио млађим генерацијама да истраже. Након тога, угледајући се на пријатеље са универзитета, развио сам жељу за даљим образовањем кроз Индустријске докторске студије. Пронашла ме је једна компанија из Луксембурга која је тек започела сарадњу са Универзитетом у Луксембургу. У наредних пет година указала се прилика да са знатижељом истражујем глобалне проблеме у области софтверског инжењерства.

Након тог путовања, поново сам се окренуо мало другачијој индустрији, у жељи да се носим са различитим проблемима. И да, тренутно сам Дата Сциентист. Лијепа страна истраживања је да, када једном развијете знатижељу и размишљање кроз научну методологију, врло је лако пренијети то размишљање на другачије проблеме. На чему тренутно радим, немам дозволу да говорим, надам се да ћете разумјети.

УЦГ: Ваш истраживачки пут укључује сарадњу са водећим свјетским компанијама попут PayPal-а. Како изгледа рад у таквој компанији? Како су та искуства допринијела Вашем даљем раду на иновацијама у софтверском тестирању?

Др Ојданић: Управо је PayPal та компанија која је финансирала моје докторске студије, тј. мој истраживачки рад. Они су били истраживачки партнер и једни су од најзаслужнијих зашто смо кренули у истраживање тестирања измјена кода мутацијама. Они су врло одговорна компанија која улаже много ресурса у побољшање својих услуга и увијек је у потрази за новим иновативним рјешењима. Због таквог начина размишљања о истраживању и развоју, оријентисаног ка улагању у будућност, немогуће је не примијетити њихов квалитет. И у коду и у технологијама с којима раде, код њих нема много простора за грешке и врло су опрезни са сваком одлуком коју донесу.

УЦГ: Ваше истраживање фокусира се на континуално софтверско тестирање и иновације у овој области. Шта Вас је мотивисало да се посветите проучавању софтверског тестирања, и зашто је оно важно за индустрију и кориснике софтвера?

Др Ојданић: Хвала на питању. У суштини, моја мотивација за проучавање софтверског тестирања настала је из саме знатижеље да разумијем више. Вјерујем да сви то имамо у себи. Још од малих ногу јавља се жеља да не прихватамо одређене ствари какве јесу, већ да их отворимо, раставимо, завиримо унутра и постављамо много питања: „Зашто је то тако?“ Негдје током одрастања та питања испадају с пута. А идеално би било да смо сви у некој мјери тестери.

Софтверско тестирање је важно како корисници софтвера не би трпјели посљедице неисправних софтверских функционалности. Посљедице могу бити разноврсне, јер је сама употреба софтвера разноврсна. Није тако ријетко да једна секунда прије или касније, или једна тачна или нетачна логичка инструкција, може водити до озбиљних посљедица – на примјер, тешких економских, а још горе, наношења повреда. Често с временом развијемо комфор и заборавимо да су грешке могуће.

УЦГ: Можете ли нам, једноставним ријечима, објаснити шта је то „change-aware mutation testing“ и како ова техника побољшава откривање грешака у софтверу?

Др Ојданић: Могу покушати. Ајмо почети од претпоставке да је сљедеће потпуно јасно. Прво, софтверске грешке су честа појава и софтвер се континуирано унапређује новим функционалностима. Друго, усљед комплексности и обима софтвера, могуће грешке често излазе из оквира наших интелектуалних способности и могућности да рационализујемо дуг низ операција.

Сада, како бисмо се увјерили да често унапређивање, тј. измјене у коду, неће произвести одређена нежељена понашања (посљедице), потребно је спровести тестирање. За тај процес постоје разне технике. Једна коју сам пронашао врло интересантном јесте тестирање креирањем мутација у коду (схватите као „вјештачке грешке“). То се ради с циљем да, уколико постоји „права грешка“ у коду, постоји и „вјештачка грешка“ која ће служити као основа/путоказ за креирање тестова који ће водити до „праве грешке“ – која се често јавља усљед измјена кода.

УЦГ: Ваш рад показује да је ова техника 30% ефикаснија у откривању софтверских грешака у односу на друге методе. Које би биле конкретне користи од оваквог приступа за велике софтверске компаније и њихове производе?

Др Ојданић: Па, уколико је јасна корист тестирања, онда је прилично јасна и корист од ~30% ефикасније технике у откривању софтверских грешака. Једна ствар је заједничка за све индустрије, не само за велике софтверске компаније. Грешке коштају. Посебно грешке које се јављају у производима који су доступни корисницима. Уколико нисте чули, потражите мало о ЦроwдСтрике софтверској грешци која се догодила раније ове године и посљедицама које је имала за само један дан (споилер алерт, процјењује се да је коштала преко 5 милијарди долара).

И грешке у производима који нису доспјели до крајњег корисника исто тако коштају. Потребно је дати вријеме групи инжењера да пронађу узрок грешке. И то, наравно, кошта. Како због цијене времена инжењера, тако и због одлагања да производ изађе на тржиште. Тренутно говорим само о финансијским импликацијама. Мислим да је непотребно говорити о користи како не би дошло до посљедица по живот и здравље.

УЦГ: У свом истраживању користите машинско учење за оптимизацију тестирања софтвера. Како машинско учење помаже у процесу тестирања и које су његове највеће предности у поређењу са традиционалним методама?

Др Ојданић: Можда сам мало досадан, али и у овом случају битан фактор је вријеме. У случају мог истраживања, машинско учење на основу дуге историје података софтверског кода може нам „препоручити” које мутације у коду су приоритетне и које могу водити до тестова од веће „важности“. Машинско учење је, у суштини, техника оптимизације која нам смањује скуп потраге за кандидатима од интереса, за које би нам у супротном било неопходно уложити значајан напор и вријеме.

УЦГ: У оквиру свог рада бавили сте се и примјеном графичких неуронских мрежа у побољшању вјештачких грешака у софтверу. Можете ли нам рећи нешто више о томе и како ово може унаприједити квалитет софтверских производа?

Др Ојданић: Графовске неуронске мреже су само једна од многих класа неуронских мрежа. У суштини, оно што ове мреже одваја од осталих јесте то што имају врло добре перформансе на комплексним неструктурираним структурама података. Најпознатија неструктурирана структура података, вјерујем, јесу сами графови. Многи ће радо дискутовати да велику већину (ако не све) односа у природи можемо на неки начин представити графовима. Тако се и један софтверски код најбоље представља управо графовима. У зависности од врсте графова о којима говоримо, чворови могу бити инструкције, док везе између чворова представљају логички ток извршавања инструкција. Та структура је врло природна за софтверске инжењере.

Одговор на питање како можемо унаприједити квалитет софтверских производа јесте да управо можемо анализирати те структуре и, уз помоћ математичких модела, тј. графовских неуронских мрежа, доћи до локација проблема (нелогичности) или оптималних локација вјештачких грешака погодних за тестирање. Међутим, важно је још схватити да нам ове мреже омогућавају још много тога. Можемо аутоматизовати поправку софтвера, побољшање и одржавање, аутоматско комплетирање кода и многе друге операције које инжењери користе свакодневно.

УЦГ: „Дани научне дијаспоре“ на Универзитету Црне Горе, у оквиру Фестивала умјетности, науке и културе, окупљају научнике из разних области. Какво је ваше искуство и каква је ваша спона са Црном Гором? Како оцјењујете значај овог догађаја за повезивање истраживача из региона и како се ваша истраживања уклапају у ову ширу научну заједницу? Да ли сарађујете са научницима УЦГ?

Др Ојданић: Одакле да почнем. Прво, повезивање истраживача, инжењера, локалне индустрије и академије и те како је важно за све земље у свијету, не само за Црну Гору. На овај начин развијају се нове идеје, формирају сарадње, постављају визије и планира интелектуална и креативна будућност једне државе. Током овогодишњег симпозијума „Дани научне дијаспоре“ имали смо прилику да чујемо професоре са највећих свјетских институција, остварене истраживаче из неких од највећих свјетских компанија. Говорили су о фасцинантним темама и импресивним радовима из медицине и генетике, биологије и микробиологије, хемије, физике, вјештачке интелигенције и разних других области. Лично сам много тога новог научио. Изненађен сам, и жао ми је, што је било присутно врло мало студената који су требали да „украду“ то знање које се несебично дијелило.

Узимајући у обзир да је ово једна од првих верзија, догађај је био врло успјешан. Потребно је вријеме како би се уклопиле дисциплине, оствариле везе и створиле сарадње.

Врло је важно рећи да наша земља, заједно са земљама из региона, има много изузетних научника које је задовољство слушати, који су ментори и који требају служити као узори, како због свог интелекта, тако и због своје скромности! То су људи на које треба усмјерити пажњу!

До овог догађаја нисам имао комуникацију са научницима са УЦГ. Моја веза са Црном Гором је искључиво везана за породицу и пријатеље.

УЦГ: Шта бисте савјетовали студентима и младим истраживачима који желе да се баве софтверским инжењерингом и вјештачком интелигенцијом? Које вјештине и знања су, по Вашем мишљењу, најважнији за успјех у овим областима?

Др Ојданић: Нисам сигуран да могу себи дати за право да неког савјетујем. Успјех треба да буде лично осјећање, а не мишљење заједнице. Сви смо ми различити, а поготово студенти у својим жељама, размишљањима и схватању свијета. Желио бих само да укажем на нешто, прво генерално студентима у Црној Гори, а затим и онима који дијеле исту страст као ја за област софтверског инжењерства и вјештачке интелигенције.

У суштини, уколико се уклоне сви ограничавајући фактори на путу ка нечијим сновима, све што преостаје јесте једноставна формула – колико је неко спреман да уложи времена да оствари оно што жели. Студенти морају бити искрени са собом, храбри, и спремни да прихвате понекад нажалост неповољан положај и незавидне ресурсе с којима раде у поређењу са колегама. Међутим, студенти морају знати да знатижеља, сањарење, визија, дисциплина и посвећеност циљу немају цијену. То је бесплатно и лично. А тај скуп вјештина, и искључиво само тај скуп, може их довести до свега што желе да остваре, колико год њихове жеље изгледале далеко.

Студентима желим да имају узоре у областима у којима замишљају себе. Желим им да циљају високо. Желим им да контактирају особе за које мисле да им могу дати добар савјет. Данас смо толико добро умрежени да је све што је потребно усудити се поставити питање.

Студентима који желе да се баве софтверским инжењерингом и вјештачком интелигенцијом желим да укажем на важност практичног рада и читања. Срећни смо што имамо ту могућност да праксу стичемо на Опен Соурце софтверу. Бити истакнути и поуздани сарадник (цонтрибутор) је једносмјерна карта у највеће свјетске компаније и институције. Интернет и медији често су мјеста препуна буке створене од људи убјеђених да постоји позитивна корелација између „бити гласан“ и „бити паметан“. Од тога бих желио да се студенти дистанцирају и да пронађу материјал и предивне књиге које ће их заинтересовати и помоћи им да сортирају мисли.

Подјелите текст путем:



Придружите нам се на Вајберу и Телеграму:

     

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *