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

UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Gépi tanulás a fejlesztés, karbantartás költségének becslésére.

Hasonló előadás


Az előadások a következő témára: "UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Gépi tanulás a fejlesztés, karbantartás költségének becslésére."— Előadás másolata:

1 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Gépi tanulás a fejlesztés, karbantartás költségének becslésére Kakuja-Tóth Gabriella Szoftverfejlesztés Tanszék 1

2 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Adding Process Metrics to Enhance the Modification Complexity Prediction Tóth Gabriella, Végh Ádám Zoltán, Beszédes Árpád, Gyimóthy Tibor 19th IEEE International Conference on Program Comprehension – ICPC’11 2

3 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Adjusting Effort Estimation Using Micro-Productivity Profiles Tóth Gabriella, Végh Ádám Zoltán, Beszédes Árpád, Schrettner Lajos, Gergely Tamás, Gyimóthy Tibor 12 th Symposium on Programming Languages and Software Tools - SPLST'11 3

4 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 4 Vázlat  Metrikák felhasználása becslésre  Módosítás költsége metrika ■Level of Modification Complexity (LMC)  A kísérlet ■Összehasonlító elemzés különböző metrikákkal alapján történő becslések között  Eredmények  Hogyan tovább?

5 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 5 Szoftvermetrikákkal történő becslés  Mit becsülhetünk? ■Költség, ■Erőforrás, ■Hibaszám, ■…  Miből becsülhetünk? ■Termék metrikák ■Folyamat metrikák ■Múltbeli fejlesztési adatok ■ …

6 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS  C&K metrikák: 6 objektum orientált metrika (Chidamber és Kemerer által) ■Ezek a metrikák korrelációt mutatnak a karbantarthatóság mértékével és a hibák számával  Mockus és Weiss ■A változás metrikák és a fejlesztők szakértelme fontos tényező a hibák számának előrejelzésében  Moser ■A legerőteljesebb hiba előrejelzők a nagy számú kis méretű kommitok, sok hibajavítás és kevés refaktoring. 6 Kapcsolódó irodalom

7 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Módosítás komplexitása  ISO/IEC TR :2003 szabvány ■Modification complexity ■Can the maintanier easily change the software to resolve problem? ■T = Sum(A/B)/N –A: work time spent to change –B: Size of software change –N: number of changes 7

8 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Módosítás komplexitása  Mennyi ideig tart átlagosan egy fájl 1 sorának módosítása a fájl következő módosítása során?  T.F.H. r36-ban A.java módosult: ■r35 – r36 között: –diff: 4 sor –A.java fejlesztésének nettó ideje: 12 perc –MC (A,35) = 12/4 = 3 perc/sor –LMC(A,35) = közepes 8

9 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Módosítás komplexitása  time(F, i): F fájl nettó fejlesztési ideje percben a fájl i. és i+1. revíziója között  diff (F, i): F fájl változtatott sorainak száma a fájl i. és i+1. revíziója között  Fájlonként kiszámolásra került a fájl összes módosításának revíziójához ez az érték 9

10 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kutatási cél  A módosítás költségére rátanulni ■Milyen prediktorok segítségével? –Termék metrikák –Folyamat metrikák –Idő múlása ■Több modell építése, ezek összehasonlítása –Precision –Recall 10

11 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kutatási kérdések  Az idő múlása elégséges az LMC becsléséhez?  A termékmetrikák által becsült LMC pontossága javítható további folyamatmetrikák segítségével? 11

12 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A mérési keretrendszer 12

13 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Productivity plug-in  Eclipse plug-in  Logolja a fejlesztés főbb mozzanatait: ■Aktív fájl ■Aktív perspektíva ■Aktív projekt ■Aktív fejlesztő ■Események: –save, update, commit, deploy ■Idő mérése (-tól –ig)  Központi adatbázisba tölti folyamatosan 13

14 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A mérési keretrendszer 14

15 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Columbus  Statikus elemző ■C/C++, C#, Java, SQL, Python stb.  Termékmetrikák ■Forráskód alapján ■Méret, ■Komplexitás, ■Öröklődés, ■Csatolás 15

16 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A mérési keretrendszer 16

17 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Prediktorok I.  Termék metrikák ■lLOC: logical Lines of Code ■Chidamber és Kemerer metrikák –DIT: Depth of Inheritence Tree –NOC: Number of Children –CBO: Couplings between Object Classes –RFC: Response For a Class –WMC: Weighted Methods per Class –LCOM: Lack of Cohesion in Methods ■ECLOC: Effectively Changed Lines of Code 17

18 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Termékmetrikák feldolgozása  3 féle feldolgozás ■A kód aktuális állapota alapján számolt ■A kód első mért állapota és a jelenlegi állapota közötti eltérés ■A kód előző mért állapota és a jelenlegi állapota közötti eltérés 18

19 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Prediktorok II.  Folyamat metrikák ■TT: Task Time ■DEP: Developer’s Experience in Progamming ■NDF: Numbers of Developers of File ■NFA: Number of File Access ■DT: Development Time  RN: Revision Number 19

20 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A vizsgált projekt  Ipari K+F java projekt ■Telemedicina terület ■7 fejlesztő ■23 munkanap ■r954 – r1805 –851 kommit –1134 fájlmódosítás –200 fájlmódosításhoz lehetett egyértelműen termék és folyamat metrikát társítani –97 tanulóadat (a többi esetén nem volt a fájl rákövetkező módosítása) 20

21 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Gépi tanulás  Használt weka algoritmusok ■J48 –java weka.classifiers.trees.J48 -t data/process.arff -d data/process.model -i ■RBFNetwork –java weka.classifiers.functions.RBFNetwork -t data/process.arff -d data/process.model -i ■ClassificationViaRegression –java weka.classifiers.meta.ClassificationViaRegressio n -t data/process.arff -d data/process.model -i 21

22 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Gépi tanulás  Cél: LMC diszkrét érték becslése ■MC = DT/ECLOC → LMC  4 féle becslőmodell ■Idő múlása alapján –Prediktor: RN ■Termék metrikák alapján –Prediktorok: RN, termék metrikák ■Folyamat metrikák alapján –Prediktorok: RN, folyamat metrikák ■Termék és folyamat metrikák alapján –Prediktorok: RN, termék és folyamat metrikák 22

23 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Process_metrics.arff process_metrics rev numeric task {t2,t1,t3} developer {d4,d3,d5} access numeric time numeric dev_access numeric target {m3,m2,m1} ■963,t2,d4,1,43,1,m3 ■967,t1,d3,4,40,1,m3 ■967,t1,d3,3,3,1,m2 ■… 23

24 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Product_metrics.arff product_metrics rev numeric LLOC numeric RFC numeric WMC numeric DIT numeric NOC numeric LCOM numeric CBO numeric dLLOC numeric ■… d1LLOC numeric ■… diff numeric target {m3,m2,m1} ■963,179,17,37,0,0,3,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,m2 24

25 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Eredmények I. Tanulási módszer PrecisionRecall J4831.9%35.2% RBFNetwork36.6%38.5% ClassificationViaRegression35.2% 39.6% Az idő múlása elégséges az LMC becsléséhez? Csak revíziószám alapján 25

26 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Eredmények II. Tanulási módszer PrecisionRecall J4843.1%42.9% RBFNetwork36.6%35.2% ClassificationViaRegression40% 41.8% Revíziószám és termékmetrikák alapján 26

27 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Eredmények III. Tanulási módszer PrecisionRecall J4834.2%34.1% RBFNetwork31.7%31.9% ClassificationViaRegression26.7% 33% Revíziószám és folyamat metrikák alapján 27

28 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Eredmények IV. 28 Learning MethodPrecision/ Recall Product Metrics Process metrics Product & Process Metrics J48Precision43.1%34.2%47.5% Recall42.9%34.1%47.3% RBFNetworkPrecision36.6%31.7%39.7% Recall35.2%31.9%39.6% Classification ViaRegressionPrecision40%26.7%42.7% Recall41.8%33%45.1% Javítható-e a becslés pontossága, ha csak termékmetrikák helyett termék és folyamatmetrikák segítségével becsülnénk?

29 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS További vizsgált projektek  3 ipari K+F Java projekt  293 tanulóadat 29

30 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Eredmények V. 30 Tanulási módszer PrecisionRecall J48 50,1% (47.5%) 49.8% (47.3%) RBFNetwork 37.9% (39.7%) 40.3% (39.6%) ClassificationViaRegression 46.6% (42.7%) 47.4% (45.1%)  Becslőmodellek összehasonlítása nagyobb tanulóhalmazra

31 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 31 Összegzés  Ígéretes eredmények ■A kombinált prediktor használat (termék és folyamatmetrikák) pontosabb becslést eredményezett  További eredmények ■Új tanulóhalmazon ismételt mérés ■A tanulóhalmaz méretének növelésével még pontosabb becslést értünk el

32 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Távlati célok  Hosszabb távú előrejelzés ■Ne csak a következő módosítás komplexitása legyen becsülhető, hanem hosszabb távon is ■1, új tanulómodellek a következő 1,2,3, … módosítás komplexitásának előrejelzésére ■2, régi tanulómodell által becsült érték korrigálása statisztikai értékek alapján 32

33 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Micro-productivity jelenség  Következő módosítás (MC): 5 perc/sor ■Naív megközelítés –Köv. 10 módosítás módosításonként 30 sorral számolva: 30*10*5= 1500 perc ■Micro-productivity jelenség –A 10 módosítás valószínűleg tartalmaz közös részeket (utólagos refaktorálás, átgondolatlan fejlesztés, hibás első ötlet stb.) – módosított sorok száma legfeljebb 30*10 33

34 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Micro-productivity jelenség  10 módosítás előrejelzése: ■Tényleges: 250 sor ■Naív: 300 sor  Ezek aránya: 250/300= 0,83  Naív becslés korrigálása ■1500 * 0,83 = 1250 perc  Minden hosszhoz átlag (vagy medián) számítása a meglévő arányok alapján 34

35 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Felmerült probléma  Tanulóadat számának újbóli növekedé- sével nem kaptunk pontosabb becslést ■Rosszul választottunk –prediktorokat? »Túl sok a prediktor? »Nincs közük a target-hez? –tanuló modellt? »Paraméterezés? »Más modell? 35

36 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Köszönöm a figyelmet! Kérdések? Ötletek? 36


Letölteni ppt "UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Gépi tanulás a fejlesztés, karbantartás költségének becslésére."

Hasonló előadás


Google Hirdetések