Ericsson Szoftvertechnológiai Labor

Ericsson Szoftvertechnológiai Labor

 

2011-ben jött létre a Karon az Ericsson Szoftvertechnológiai Labor, amely immár öt éve stabilan működik, hallgatók, ipari szakemberek és oktatók közös munkájának eredményeképpen, és modellként szolgál a további együttműködések kialakításához.

A hallgatók a szoftvertechnológiai labor keretein belül egy „éles” kutatási projektbe csatlakozhatnak be, tényleges kutatásokban és ipari fejlesztésekben vesznek részt, eközben elsajátíthatják a legmodernebb szoftvereszközök és fejlesztési módszerek használatát. Az eredményes közreműködésért kreditet kaphatnak (Msc-n), és a projektmunka beszámítható a kötelező szakmai gyakorlatba is. A hallgatók által elvégzett munka remek lehetőség szakdolgozat vagy diplomamunka elkészítéséhez, TDK-n való résztvételhez, de volt már arra is példa, hogy valaki nemzetközi konferencián vett részt a projektmunkájával. A feladatokat tipikusan otthonról is lehet végezni, heti egy-két közös meeting mellett.

RefactorErl K+F labor| Model C++ Projekt | CodeChecker | CodeCompass | Development and Testing at Scale | P4 Labor | txtUML-Modellvezérelt szoftverfejlesztés | 5G Edge Computing - szoftveres alkalmazások 5. generációs mobil hálózatokban | Zenei jelek valós idejű megértése és feldolgozása Webes szoftvertechnológia

RefactorErl K+F labor

 

A RefactorErl egy forráskód elemző és transzformáló eszköz Erlanghoz. Miért éppen Erlang? Mert ez egy izgalmas funkcionális programozási nyelv, melyet elosztott, valós-idejű rendszerek fejlesztéséhez  terveztek. A RefactorErl projekt célja, hogy ilyen komplex Erlang szoftverek fejlesztését, karbantartását, megértését segítse. Az eszköz számos hasznos funkcióval rendelkezik már most is: több mint 20 refaktorálás, forráskód klaszterezés, lekérdező nyelv, forráskód bonyolultságának mérése, programmegértés támogatás, duplikált kódok felderítése, stb.

Noha úgy tűnhet, hogy ez az eszköz már készen van, mi mindig találunk érdekesebbnél érdekesebb megoldandó feladatokat. Pár példa erre:

  •  Hogyan lehet gráfok hasonlóságát vizsgálva duplikált kódokat találni?
  •  Felhasználható-e ez plágium detektálásra?
  •  Lehet-e mérni, hogy egy forráskód mennyire energiapazarló vagy éppen hatékony?
  •  Vannak-e automatizálható módszerek, melyekkel a forráskód átalakításával csökkenthetem a felhasznált energiát?
  •  Hogyan tároljam el egy gráf reprezentációban hatékonyan a forráskód változásait?
  •  Meg lehet-e tanulni, hogy mi egy fejlesztő jellemző programozási stílusa?
  •  "Láthatatlan/rejtett" információk felderítése a forráskódból?
  •  Hogyan elemezhető/csatolható be egy natív kódból jövő információ?
  •  Használható-e a RefactorErl más programozási nyelvekhez is?
  •  Hogy derítsük ki a típust statikusan egy dinamikusan típusos nyelvben?
  •  Hogyan kezeljünk nagy, nagyon nagy gráfokat? Zoomolható-e mint egy térkép?
  •  Hogyan lehet Erlang kódokat hatékonyan párhuzamosítása automatikus transzformációkkal?
  •  Lehetséges-e hogy akár OpenCL kódokat is előállítsunk a hatékonyság növelése érdekében? 

Model C++ Projekt

A Model C++ projekt az ELTE IK és az Ericsson közös kutatás-fejlesztési projektje. A projekt célja nagyméretű (100.000 forrássor vagy afeletti) szoftverrendszerek minőségének javítása.

http://gsd.web.elte.hu/softtech/ 

CodeChecker

A CodeChecker alprojekt statikus elemzés segítségével próbál olyan potenciális hibákat felfedezni, melyeket sem a fordító, sem a tesztek nem mutattak ki. A statikus elemzés során a programot nem futtatjuk, hanem csak a forráskódot elemezzük. Jelenleg C/C++ kódokat elemzünk az LLVM/Clang C++ fordító és a ráépülő StaticAnalyzer segítségével. A projekt nemrég vált nyílt forráskódúvá, megtaláljátok a Github-on is: CodeChecker. Felhasználóink, fejlesztő partnereink közt van a Sony, az Apple és a Google is.

A hallgatók a CodeChecker keretrendszer fejlesztése mellett elsősorban egyes ellenőrzési szabályokat definiálhatnak és implementálhatnak, de lehetőség van kutatási feladatok elvégzésére is. Remek lehetőség a C és C++ gonosz hibáinak mélyebb megismerésére.

A kontributált kódokat az Apple és Google mérnökei nézik át, visszajelzéseik alapján rengeteget lehet tanulni.

http://gsd.web.elte.hu/softtech/ 

CodeCompass

Nagyméretű, sok éven át számos programozó által fejlesztett projektek esetében gyakori probléma, hogy már senki sem látja át a rendszer egészét. Márpedig akár hibajavítás, akár új funkció hozzáadása a cél, először a jelenlegi rendszer működését kell megérteni. A piacon léteznek gyors, web-alapú kereső eszközök (pl. az OpenGrok vagy hatékony elemző-kódnavigáló toolok (pl. Understand C++, esetleg kódvizualizációk (pl. SourceInsigh, de a CodeCompass mindezt egyszerre tudja, ráadásul több nyelvre is (jelenleg C, C++, Java és Python támogatott).

A CodeCompass alprojekt CodeCompass ugyancsak nyílt forráskódú. A hallgatók dolgozhatnak nyelvi parsereken (új nyelvekhez), grafikai megjelenítéseken vagy akár a web gui-ban is.

A CodeCompasst kipróbálhatjátok egy élő demó rendszeren, ami a Xerces nyílt forráskódú könyvtár elemzését mutatja be.

http://gsd.web.elte.hu/softtech/ 

Development and Testing at Scale

+ Elfogadjuk, hogy sokaknak van munkájuk az egyetem mellett, és óráik az egyetemen, ennek megfelelően rugalmasan alakítottuk ki az agilis-szerű működésünket.
+ Elégedettség esetén ösztöndíjat adunk.
+ Segítünk akár nyári, akár egész évre vonatkozó diákmunkát szerezni.
+ Mivel Open Source -ban dolgozunk, munkahelykereséskor is kiváló referencia a laborban végzett munka.
+ Olyan kollégával lehet együtt dolgozni, akinek nemzetközi szabványosításban van tapasztalata és az open-source eclipse legproduktívabb fejlesztőinek egyike...

További információ

Kontakt: Kovács Attila attila@inf.elte.hu

P4 Labor

A projekt keretében egy a Stanford és Princeton egyetemek, valamint a Google által vezetett és számos ipari partner által támogatott konzorcium által fejlesztett, magas szintű, hardver és protokollfüggetlen, alkalmazási terület specifikus programozási nyelvet, a P4-et (https://p4.org/) vizsgáljuk, mellyel elsősorban csomagfeldolgozást végző hálózati eszközök működését megadó algoritmusok írhatók le. A nyelv olyan szempontból is érdekes, hogy az aktuális verziója jelenleg is fejlesztés alatt áll. A kutatás a nyelv alkalmazhatóságának esettanulmányok segítségével történő vizsgálatán felül magában foglalja a nyelvhez illeszthető, hatékony kód előállítására képes fordítóprogram elkészítési lehetőségeinek, illetve a P4 nyelvű alkalmazások optimalizációs és verifikációs lehetőségeinek áttekintését is. A projekttel kapcsolatos további információk a p4.elte.hu oldalon találhatóak.

Kontakt: Tejfel Máté matej@inf.elte.hu

txtUML-Modellvezérelt szoftverfejlesztés

A „modell vezérelt szoftverfejlesztés” szoftverlabor jelenleg egy szöveges végrehajtható UML eszköz (txtUML) fejlesztésével foglalkozik. Ez az eszköz segítheti a szoftver rendszerek objektum elvű tervezését. Egy ilyen tervezések során megadott UML diagramokat (főleg osztály és állapotgép diagrammokat) nálunk nem grafikus, hanem szöveges formában lehet megfogalmazni. Ezután az eszközünk segítségével a modellt végre lehet hajtani anélkül, hogy valamilyen konkrét programozási nyelven kódolnánk. Ez lehetővé teszi a terv tesztelését. Ezen túlmenően az eszköz segítségével  grafikusan is ki lehet rajzolni modell. Mindemellett le lehet fordítani azt az UML szabványos nyelvére is, illetve C++ programozási nyelvre is.

http://txtuml.inf.elte.hu/wiki/doku.php

https://github.com/ELTE-Soft/txtUML

General contact address: txtuml@inf.elte.hu

Project leader: Tibor Gregorics, gt@inf.elte.hu

Technical leader: Gergely Dévai, deva@inf.elte.hu

5G Edge Computing - szoftveres alkalmazások 5. generációs mobil hálózatokban

A mobilhálózatok új, 5. generációja minden eddiginél kisebb késést, nagyobb sávszélességet ígér. Keressük az 5G technológia olyan felhasználásait, melyekre csak most nyílik lehetőség. Foglalkozunk különböző prototípusok fejlesztésével és mérésével, hogy hasznos alapokat adjunk ezek későbbi termékesítéséhez, illetve gyakorlati telepítéséhez. Nagy hangsúlyt fektetünk nagy számítási teljesítményű rendszerek felhő- és Edge Computing technológiákon való alkalmazására és vizsgálatára.

Kontakt: Gera Zoltán gerazo@inf.elte.hu

 

Zenei jelek valós idejű megértése és feldolgozása

Munkánk célja egy valós idejű AMT (Automatic Music Transcription) rendszer és tesztkörnyezet kidolgozása. Ez a feladat számos aspektussal rendelkezik, mely magában foglalja valós idejű jelfeldolgozási láncolat kidolgozását, ütemezési problémák párhuzamosított megoldását, digitális szűrők fejlesztését, valós idejű vizualizációk technológiáinak feltérképezését, eredmények pszichoakusztikai elvek mentén történő kiértékelésének kidolgozását.

Kontakt: Gera Zoltán gerazo@inf.elte.hu

Webes szoftvertechnológia

A webes szoftvertechnológia labor keretében lehetőség van különböző webes projektekben részt venni. A projektek elsősorban a frontendre fókuszálnak, szerveroldalon az üzleti rétegig terjednek. A labor tématerületei:

webes frontendek fejlesztése

webes adatok vizualizációja

banki informatika

webes startupok világa

Projektek
Programozási környezet fejlesztése

Különböző oktatási és módszertani igényeket kiszolgáló webes programozási környezet fejlesztése. A felület egy egyoldalas alkalmazás, amely REST API-n keresztül kapcsolódik a szerveroldali logikához, ahol a programkódok virtuális konténerekben futnak le. Jelenleg TypeScript és C++ nyelveket támogatja a környezet. Feladat: felhasználó- és csoportkezelés hozzáadása, feladatok felhasználókhoz rendelése, további nyelvek támogatása.

Felhasznált technológiák

React

React-router

MobX

Docker

Express

Monaco

Bootstrap, Bootswatch

Adatvizualizációs projekt

Adatok megjelenítése alacsony és magas szintű eszközök segítségével. Specializált platformok és meglévő függvénykönyvtárak használata, valamint egyedi grafikonok és architektúrák készítése korszerű webes technológiákkal. Ösztöndíj lehetőséggel.

Kontakt: Horváth Győző gyozke@inf.elte.hu