Simplicity is the soul of efficiency.
Picire is the product of an active research group in Szeged, Hungary. The main focus of this group is to find effective ways to fuzz different software engines and also effectively post-process the output of the fuzzer (test case reduction). This post is about the latter task, reducing the output of the fuzzer in the least amount of time. During the last decade, several researchers added their bit to the tool (kudos!
Egy-egy informatikai tanulmány végét a záróvizsga zárja le. A struktúra ismert: kapsz két tételt, annak kidolgozására van valamennyi időd, majd bekísérnek a bizottság elé. Ott először megvéded a szakdolgozatod, majd a tételekről beszélgetsz két tanárral, akik eldöntik, megérdemled-e azt a diplomát, avagy sem. Stresszes, ugye?
A záróvizsga követelményét mindenki ismeri: tanulni kell. Sajnos a munkát nem lehet kikerülni, ezt bele kell fektetni. Ha technokratán akarok fogalmazni, akkor ez a cikk a záróvizsgák nem funkcionális követelményeiről szól, azaz hogyan is kell ezt jól csinálni.
A dokumentáció PDF formában megtalálható itt.
Frissítés A téma elkelt! Motiváció Véletlenszerű tesztesetgenerálás célja egy szoftver biztonságtechnikai tesztelése generált bemenetekkel, hibás viselkedést remélve (pl. memóriaszivárgás). Egy-egy hibát találva, a javítást kivitelező szoftverfejlesztőnek először meg kell találnia a hibát kiváltó tényleges okot.
Ezt a feladatot hivatott megkönnyíteni az automatikus tesztesetredukció diszciplínája, mely algoritmikusan csökkenti a hibát előidéző tesztesetet, annak bizonyos tulajdonságait megtartva. Az első, és mai napig aktívan használt algoritmus a Delta Debugging (DDMin), mely a bemenetet elemi egységekre bontja, majd ezek különböző konfigurációival próbálja csökkenteni a teszteset méretét.
A projekt célja a verziókezelés bemutatása magyar nyelven. Felfogható, hogy a
ScottChacon and Ben Straub. 2014. Pro Git (2nd. ed.). Apress, USA. könyv bizonyos fejezeteinek a szabadfordítása.
Részletek a jegyzetből A verziókezelő (Version Control System – VCS) egy szoftverrendszer, amely rögzíti a változásokat a fájlokon az idő folyamán. Programozói szemszögből ezek a fájlok programkódot tartalmaznak, de kb. mindent is lehet kezelni. Minden változtatás az előző állapothoz képest kerül meghatározásra inkrementálisan, így könnyű az állapotok között váltani, visszavonni egy vagy több változtatást.
A teljes dokumentáció megtalálható itt.
Feladatkiírás Az iparban évtizedek óta kiforrott technológia a beágyazott rendszerek használata. Beágyazott eszközök találhatók az autókban, gyárakban, nyersanyagfeldolgozó telepekben és háztartásokban. Ezen rendszerek feladata szenzoradatok olvasása, ezek alapján döntéshozás és beavatkozás, azaz a befogadó rendszer vezérlése. Az Internet of Things fogalom 2010 környékén terjedt el világszerte, mely lehetővé tette a beágyazott rendszerek szélesebb körű elterjedését, megjelentek a Raspberry Pi és az Arduino sorozat elemei.
Az iparban használt szoftverek nagy része C/C++ programozási nyelven íródott, annak hatékonyságát kiaknázva, viszont az Internet of Things által meghódított közönség nem feltétlenül rendelkezik célirányos tudással ezen a területen.