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.

Slides:



Advertisements
Hasonló előadás
PTE PMMK ÉPÍTÉSKIVITELEZÉSI ÉS MÉRNÖKI MENEDZSMENT TANSZÉK MINŐSÉGMENEDZSMENT 4. ELŐADÁS.
Advertisements

A LabVIEW használata az oktatásban
Valós idejű tesztlefedettség- monitorozás JEE környezetben Dr. Ferenc Rudolf, Szegedi Tudományegyetem Bakota Tibor, FrontEndART Szoftver Kft.
Kvantitatív módszerek
Meteorológiai Előrejelzés Adatbányászati Támogatással Putnoki Gyula GTK ISZAM II.évf. Társszerzők: az ISZAM-os Meteor-team TDK-konferencia 2007 Gödöllő.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
Technológiai fejlesztés a hatékony ellátás szolgálatában
Minőségbiztosítási terv
INFRASTRUKTÚRA MENEDZSMENT
Rendszerfejlesztés II gyak
Szoftverminőség monitorozás forráskód alapján
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
Spanning Tree Protocol
Módszerek sebességi állandók becslésére Kovács Benedek, Budapesti Műszaki és Gazdaségtudományi Egyetem.
Gondolatok az innováció működéséről Szabó Gábor a Magyar Innovációs Szövetség elnöke.
Forráskód metrikák szerepe a szoftver minőségbiztosításban
Szoftverfejlesztés és szolgáltatás kiszervezés Folyamatjavítási mérföldkövek a világon és Magyaroszágon Bevezető gondolatok Dr. Biró Miklós.
Rendszerfejlesztés gyakorlat - © Nagy Csaba
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 8. Gyakorlat Operator overloading II.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Dr. Bilicki Vilmos Szoftverfejlesztés Tanszék
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Address Resolution Protocol (ARP)
Rendszerfejlesztés gyakorlat - © Fülöp Lajos Minőségmérés.
Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011.
Funkciópont elemzés: elmélet és gyakorlat
Megvalósíthatóság és költségelemzés Készítette: Horváth László Kádár Zsolt.
Hasonlóságelemzés COCO használatával a MY-X elemzőben
INNOCSEKK 156/2006 Hasonlóságelemzés-alapú vizsgálat a COCO módszer használatával Készítette: Péter Gábor
Hozam-előrejelzés a gabonatermesztésben
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád Szegedi Tudományegyetem FrontEndART.
Egytényezős variancia-analízis
STATISZTIKA II. 3. Előadás Dr. Balogh Péter egyetemi adjunktus Gazdaságelemzési és Statisztikai Tanszék.
Topológia felderítés hibrid hálózatokban
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Méréstechnika.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Copyright 2009 SZTE Szoftverfejlesztés Tanszék1.
Belami beszámoló – Doménadaptációs alkalmazások. Problémafelvetés Felügyelt tanulás elvégzéséhez gyakran kevés jelölt adat áll rendelkezésre  doménadaptáció.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 5.4 Szolgáltatói Keretrendszerek Prof. Dr. Gyimóthy Tibor,
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Idősor karaktersorozatként való vizsgálata – SAX algoritmus Szabó Dániel Konzulens: dr. Dobrowiecki Tadeusz Önálló Labor előadás december 12.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Refaktoring projekt az InfoPólus klaszterben GOP Nagy Csaba - Refactoring 2011 Kft.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Okostelefon köztesréteg Dr. Bilicki Vilmos Szegedi Tudományegyetem.
WEBSTAR CSOPORT WC S ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE Marics Tamás június 20.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 3. Gyakorlat SSADM gyakorlás.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Okostelefon felhő Prof. Dr. Gyimóthy Tibor Szegedi Tudományegyetem.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 3. Átszövődő vonatkozások Dr. Bilicki Vilmos Szegedi Tudományegyetem.
Palotás Ádám és Fodor Gergely Oracle Data Integrator Bemutató és gyakorlat
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. Követelmények.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 7. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Reverse Engineering Rendszerfejlesztés II. 2. óra.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás alapjai 1. Gyakorlat Követelmények, regisztráció,
Protean Process Monitoring System Rövid ismertető.
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SZEGEDI TUDOMÁNYEGYETEM S zoftverfejlesztés Tanszék Programrendszerek tanúsítása – szoftverminőség mérése Dr. Gyimóthy.
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Vállalati információs rendszerek.
Pedagógiai hozzáadott érték „Őrült beszéd, de van benne rendszer” Nahalka István
Maven és Ant Build eszközök bemutatása
AGILE COCKTAIL – Shaken or stirred HWSW free!
Modellezési Kockázat Kereskedelmi Banki Kockázatmodellezés
SZAKKÉPZÉSI ÖNÉRTÉKELÉSI MODELL ÖNÉRTÉKELÉSI SZINTEK
A szakiskolai oktatás kiterjesztésének hatása
Kódduplikációk a forráskódban
Mindenki lehet innovátor!
A évi kompetenciamérés FIT-jelentéseinek új elemei
Microsoft SQL licenselés a gyakorlatban
Előadás másolata:

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

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

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

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?

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 ■ …

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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?

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

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

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

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

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

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

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

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