:

Szerző: Hlács Ferenc

2018. szeptember 14. 12:30

Nyílt forrású, automatizált bugjavító eszközön dolgozik a Facebook

A SapFix a várakozások szerint rengeteg mérnökórát spórolhat majd a cégnek.

Automatizált, gépi tanulással megtámogatott bugjavító eszközt fejlesztett a Facebook, amellyel jelentősen csökkenthető mérnökei által debugging feladatokkal töltött idő, így az új szoftverek is gyorsabban láthatnak napvilágot. A SapFix nevű eszköz még fejlesztés alatt áll, azt a vállalt augusztus óta teszteli, ígéretes szerint azonban, hamarosan szélesebb körben is megosztja azt a fejlesztői közösséggel.

A SapFix már a cég mobilalkalmazásában is bizonyított, a cég szerint ez az első AI-eszköze, amelyet hasonló kaliberű projektnél használt, noha egyelőre még nem végleges termékként beszél róla, blogposztja szerint a SapFix  "proof-of-concept" stádiumnál jár. Ennek megfelelően a megoldás még nem maga kutatja fel a bugokat, helyette a vállalat már korábban bejelentett, és aktívan használt Sapienz szoftvertesztelő eszköze által fellelt hibákat javítja. A Facebook szerint azonban a termék önállóan is használható lesz.

Akinek a Sapienz neve nem lenne ismerős, az automatizált tesztelőeszközt a vállalat az idei F8 fejlesztői konferenciáján jelentette be. Az Sapienz a cég alkalmazásában lehetséges interakciók százainak manuális tesztelését váltja ki, ugyancsak nagy mértékben tehermentesítve a Facebook-mérnököket. A Sapienz keresés alapú tesztelést használ, illetve a UI-on keresztül vizsgálja meg az alkalmazást, ezzel kiszűrve az olyan fals pozitív hibajelentéseket, amelyeket a telefonját nyomkodó felhasználó egyébként nem is tudna előidézni. A Sapienzt élesben a cég először épp egy éve kezdte használni, azóta pedig felskálázta az androidos Facebook app milliónyi kódsorának igényeihez.

sapfix

A frissen bejelentett SapFix a Sapienz mellett a vállalat ismert statikus programelemző eszköze, az Infer eredményeit is segítségül hívja - az Infert a Facebook néhány éve ugyancsak közkinccsé tette. Miután a két eszköz megmutatja a hiba helyét a SapFixnek, az előre megadott stratégiák mentén generál hozzá patch-et. Bizonyos esetekben az eszköz teljesen vagy részlegesen visszavonja azt a hozzáadott kódot, amely a bug létrejöttéhez vezetett, összetettebb hibáknál pedig egy sor előre elkészített javítás közül választ egyet. Utóbbiakat egyébként a rendszer ugyancsak automatikusan gyűjti be a mérnökök által korábban eszközölt javításokból. Ha ezek sem működnének, a SapFix a hibáért felelős kódrészleten apróbb módosításokat is elkezd végrehajtani, míg egy potenciális javítást nem talál.

Machine recruiting: nem biztos, hogy szeretni fogod

Az AI visszafordíthatatlanul beépült a toborzás folyamatába.

Machine recruiting: nem biztos, hogy szeretni fogod Az AI visszafordíthatatlanul beépült a toborzás folyamatába.

Az eszköz minden bughoz több lehetséges javítást is generál, amelyek közül aztán három szempont, alapján választja ki a legmegfelelőbbet: hogy dob-e a kód fordítási hibát, orvosolja-e a bug által okozott összeomlást és generál-e más bugokat a fő kódban. Ezek teszteléséhez a SapFix létező, a mérnökök által megírt, illetve a Sapienz által generált teszteket futtat le a javított buildeken - mindez automatizáltan történik, természtesen a fő kódbázistól elkülönítve. A javításokat persze a SapFix nem kezdi renegát módon élesíteni, azokat először egy fejlesztőnek is elküldi jóváhagyásra. Ha a mérnök is zöld utat ad a patch-nek, azt élesben is alkalmazza a rendszer.

A vállalat arról egyelőre nem beszélt, pontosan mikor nyitja meg a SapFix forráskódját, fejlesztői mindenesetre az eszköz által generált patch-eket már a stabil androidos Facebook appban is alkalmazzák. A cég ígérete szerint a közeljövőben nem csak a frissen bejelentett eszköz, de a Sapienz is mindenki számára elérhető lesz.

November 25-26-án 6 alkalmas K8s security és 10 alkalmas, a Go és a cloud native szoftverfejlesztés alapjaiba bevezető képzéseket indítunk. Az élő képzések órái utólag is visszanézhetők, és munkaidő végén kezdődnek.

a címlapról