Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011.

Hasonló előadás


Az előadások a következő témára: "Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011."— Előadás másolata:

1 Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011

2 Tartalom Funkcionális nyelvek, Erlang A funkcionális nyelvek ipari felhasználása Szoftver bonyolultsági mértékek Automatikus hibadetektálás Automatikus hibajavítás bonyolultsági mértékek alapján

3 Az Erlang nyelv jellemzői Függvénykonstrukciók használata Üzenetküldések közös memória használat nélkül Hatékony elosztott rendszer, és hálózati modell Nagy hibatűrő képesség az elosztott programok területén Open Telecom Platform

4 Szoftverek bonyolultsága (Thomas J. McCabe) Hogyan lehet a szoftverrendszereket úgy modularizálni, hogy tesztelhetőek legyenek? A szoftverre költött pénz legnagyobb része a karbantartásra folyik el… A fejlesztésre szánt idő fele a teszteléssel és javítással telik… Egy 50 soros Fortran program 25 IF THEN ELSE konstrukcióval 33.5 millió eltérő végrehajtási ágat eredményez…

5 Ciklomatikus szám nep GV(G) Az n csomóponttal, e éllel, és p komponenssel rendelkező G gráf V(G) ciklomatikus száma V(G) = e – n+ 2p Az adott programhoz hozzárendelünk egy olyan irányított gráfot (1 belépési és 1 kilépési ponttal). A csomópontok a szekvenciális blokkok. Az ábra alapján: V (G) = e - n + 2p = 9 - 6 + 2 = 5 Az átlag programozó 3, és 7 közé eső „ciklomatikus számot” produkál…

6 Funkcionális nyelvek bonyolultsága Nem hagyományos program konstrukciókból állnak Többféle mértéket kell vizsgálni, és együttesen mérni segítségükkel a programot Mérni kell az üzenetküldések, az elosztott programok és a különleges nyelvi elemek bonyolultságát Jelezni kell az eltéréseket!

7 Forrásszöveg bonyolultsága Forráskód statikus analízisével létrehozzuk a program szintaxis fáját A szintaxis fát kiegészítjük a statikus analízissel felderíthető szemantikus információkkal, függvény hívási gráffal, és adatfolyam gráffal A kapott szemantikus gráfon mérjük a bonyolultsági mértékeket

8

9 RefactorErl Lehetőséget ad a forráskód transzformációjára Segítségével javítani lehet a forrásszövegek minőségét A forráskód változtatása során a program jelentése nem változik meg Hatékony eszköz „nem magasan képzett” programozók kezében is

10 A RefactorErl-ben mérhető bonyolultsági mértékek Minden mérték a program egy kijelölt tulajdonságát méri A mértékek alapján javítani lehet a forráskódot Minden mérték javításához rendelkezésre állnak transzformációs lépések!

11 Bonyolultsági mértékek alkalmazása A mértékek mérése segít a fejlesztés irányának a meghatározásában (és a célok betartásában) Lehetőséget tudunk biztosítani az automatikus és fél-automatikus program transzformációkra Ipari méretű szoftverrendszerek javítása is lehetségessé válik

12 Szoftver bonyolultságot lekérdező nyelv show number_of_fun for module (a) show line_of_code, number_of_messpass for module (a,b,c) show average_size form function (a,f,1) show average_size form function (a,f,1) a with max, min, avg

13

14 Automatikus hibadetektálás előre definiált értékekkel, és modularizálás

15 „Metrika” alapú, automatikus hibajavítás A RefactorErl rendszerben a mérhető bonyolultsági mértékek alapján alapértelmezett szkriptekell optimalizálható a forrásszöveg A lekérdező nyelv kiterjesztésével új optimalizáló szkripteket készíthetünk...

16 Köszönöm megtisztelő figyelmüket! Támogatók: EKF TTK ELTE IK KMOP-1.1.2-08/1-2008-0002 Ericsson Hungary


Letölteni ppt "Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011."

Hasonló előadás


Google Hirdetések